一、Java基础和高级
- 1.String类为什么是final的。
- 2.HashMap的源码,实现原理,底层结构。
- 3.反射中,Class.forName和classloader的区别
- 4.session和cookie的区别和联系,session的生命周期,多个服务部署时session管理。
- 5.Java中的队列都有哪些,有什么区别。
- 6.Java的内存模型以及GC算法
- 7.Java7、Java8的新特性
- 8.Java数组和链表两种结构的操作效率,在哪些情况下(从开头开始,从结尾开始,从中间开始),哪些操作(插入,查找,删除)的效率高
- 9.Java内存泄露的问题调查定位:jmap,jstack的使用等等
二、spring框架
- spring框架中需要引用哪些jar包,以及这些jar包的用途
- srpingMVC的原理
- springMVC注解的意思
- spring中beanFactory和ApplicationContext的联系和区别
- spring注入的几种方式
- spring如何实现事物管理的
- springIOC和AOP的原理
- spring中循环注入的方式
- Spring AOP与IOC的实现原理
- Spring的beanFactory和factoryBean的区别
- Spring的事务隔离级别,实现原理
- 对Spring的理解,非单例注入的原理?它的生命周期?循环注入的原理,aop的实现原理,说说aop中的几个术语,它们是怎么相互工作的?
- spring boot特性,优势,适用场景等
三、java多线程常见问题
- 1.Java创建线程之后,直接调用start()方法和run()的区别
- 2.常用的线程池模式以及不同线程池的使用场景
- 3.newFixedThreadPool此种线程池如果线程数达到最大值后会怎么办,底层原理。
- 4.多线程之间通信的同步问题,synchronized锁的是对象,衍伸出和synchronized相关很多的具体问题,例如同一个类不同方法都有synchronized锁,一个对象是否可以同时访问。或者一个类的static构造方法加上synchronized之后的锁的影响。
- 5.了解可重入锁的含义,以及ReentrantLock 和synchronized的区别
- 6.同步的数据结构,例如concurrentHashMap的源码理解以及内部实现原理,为什么他是同步的且效率高
- 7.atomicinteger和volatile等线程安全操作的关键字的理解和使用
- 8.线程间通信,wait和notify
四、网络通信
- 1.http是无状态通信,http的请求方式有哪些,可以自己定义新的请求方式么。
- 2.socket通信,以及长连接,分包,连接异常断开的处理。
- 3.socket通信模型的使用,AIO和NIO。
- 4.socket框架netty的使用,以及NIO的实现原理,为什么是异步非阻塞。
- 5.同步和异步,阻塞和非阻塞。