一、基础知识

  • 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有几种配置方式?

项目经验