JAVA面试技术栈

来源:互联网 发布:mac地址在线查询工具 编辑:程序博客网 时间:2024/06/05 09:24

  1. 剑指offer
  2. java基础知识

1.1常用api

1.2 java数据结构:ArrayList扩容,HashMap结构,Hashset/Hashtable原理Collection.sort用法,BlockingQueue用法,单链表结构,红黑树;

1.3算法:单链表反转,排序算法。

  1. java高级知识:

1.1 JVM相关:JVM如何进行gc,JVM调优,垃圾回收算法,JVM内存模型,类加载机制内存泄漏,内存溢出

1.2jdk提供的命令;

1.3设计模式

  1. 多线程相关:

   多线程实现方式,对synchronized的理解,ConcurrentHashmap的结构和实现原理,ThreadPoolExcuter原理,volitale关键字;

  1. Spring框架相关

IOC和AOP,动态代理,Spring拦截机制

  1. 数据库相关:

5.1索引原理,mysql的最左匹配原则

5.2如何做读写分离,分库方法ThreadLocal用法)

5.3事务相关:事务的4个隔离级别,mysql默认的隔离级别,数据库锁(悲观锁,乐观锁),死锁的条件,事务注解的用法,OCID理解(原子性,有序性,可见性,幂等性)。

5.4 mysql调优。

  1. 开源框架:

6.1数据存储:memcache,redis利弊redis锁redisaofrdb落盘方式,redis集群部署,一致性哈希算法,Mongo数据库

6.2RokectMq(MQ消息丢失,MQ怎样监听,RoketMq高可用部署 )

6.3 Dubbo服务(dubbo和HTTP的优劣),dubbo服务的调用过程;

6.4Elasticjob(架构/流程图,执行过程,选举算法 ),其他作业调度框架结合项目中用的调度方式),

6.5mybatis用法;

6.6关心的新技术有哪些

  1. 常用linux高端命令

top,netstat等。

  1. WEB服务器:

tomcat用法,如何排除tomca无响应故障apachenginxdocker了解一下,nginx和lvs的区别

  1. 网络编程方面

  常见的网络超时(CLOSE_WAIT,TIME_WAIT),如何避免重试的问题,http的cookie机制,CDN原理。

  

其他问题:

  1. 在项目中遇到的最大的问题是什么?怎样解决的?
  1. 从项目中学到了什么?