一、基础知识
- jdk集合类源码(必问),hashmap、ConcurrentHashMap这两个超级超级超级重要,必问,一定要完全理解
- 多线程相关(必问):lock、synchronized用法、区别;线程池原理;sleep()、wait()用法、区别;volatile用法、原理;常用同步集合类的实现原理,如ReentrantLock、CountDownLatch等等
- 一些其他的基础性的东西:这方面比较杂,不好总结,如boolean类型的长度、float 9.0 除以float3.0是否等于 int 3、动态代理方式/原理等等,过去好久了记不起来
- String 类的常用方法都有那些?
- 请说明 Comparable 和 Comparator 接口的作用以及它们的区别?
二、jvm相关
- jvm内存模型(必问),每个区的分别是干嘛的
- gc原理、什么时候回发生gc、gc过程是怎么样的
- 遇到过什么jvm方面的问题、如何优化
- JVM垃圾回收机制,何时触发MinorGC等操作
- 强引用、软引用、弱引用、虚引用以及他们之间和gc的关系
三、常用框架
- spirng(必问)
- ,spring IOC/AOP原理;
- spring事物级别;
- spirng用到哪些设计模式
- springmvc原理/流程
- mybatis原理/流程;一级缓存、二级缓存相关问题;#、$区别;防止sql注入的原理
四、常用中间件
- activemq原理、用法、使用场景;如何解决mq顺序问题等等
- redis相关,这块我只是了解使用,没有深入了解过,所以问的问题也记得不太清楚
- netty原理;io、nio、bio区别;netty使用场景
- duboo原理
- zookeeper原理(4、5点基本上把原理讲讲就差不多了,也可能是我了解的不够深,所以别人也没问那么多)
五、spring
- 什么是spring、为什么要用spring及其优点、spring有哪些模块组成 ?
- spring有哪些模块组成
- 什么是IOC、DI 及其两者的优点 、 有哪几种注入方式
- spring事务的实现及其原理
- Spring有几种配置方式?
项目经验