1. HashMap 1.8 与 1.7 的区别

2. ConcurrentHashMap 实现原理

3. JVM 类加载器,自定义类加载器,各自的优缺点

4. 双亲委派机制,Tomcat 类加载器

5. Tomcat 热部署,怎么做到热加载

6. CMS 垃圾回收、G1 垃圾回收过程和原理;可预测停顿的原理,Region 的大小结构

7. 内存溢出、内存泄漏场景,什么原因产生,怎么解决?

8. volatile 和 synchronized 区别

9. redis 字符串实现,sds 和 c 的区别

10. redis 集群,为什么是 16384 个 slot?选举过程会有脑裂问题么?raft 算法的优缺点?

11. redis 有序集合如何实现的?

12. 锁升级过程,轻量锁可以变成偏向锁么?偏向锁可以变成无锁么?对象头结构,锁状态变化过程?

13. InnoDB 的结构?磁盘页和缓存区是怎么配合的?缓冲区和磁盘数据不一致怎么办,服务器突然宕机数据会不会丢失?

14. InnoDB 索引为什么使用 B+ 树而非 B 树?

15. Mysql 分表如何实现?夸库 join 如何解决?数据量突然增加怎么解决?

16. 数据库的隔离级别怎么实现的?当前读,快照读?MVCC ?

17. MySQL 优化的经验?

18. 分布式事务出现过不一致么?为什么?怎么解决和优化?

19. IO 模型?

20. 消息中间件,比如 Kafka ?

21. Kafka 重平衡怎么处理?

22. netty 的原理和使用?TCP 的连接过程?一台服务器能支持多少连接?

23. Spring AOP 的实现原理,以及对象生成方式的种类(单例 or 原型)?

24. 调度接口怎么实现的?

25. 分布式唯一 ID 怎么实现的?

26. 分布式锁的实现和原理?

27. 线上问题的处理,cpu 飙升,频繁 young GC 等情况怎么处理?

28. 分布式和微服务,为什么要拆分服务,会产生什么问题,怎么解决这些问题?

29. 怎么理解高可用,如何保证高可用?

30. 高并发怎么看?会产生什么问题?怎么解决?

31. 使用过的设计模式?

32. 怎么做压测?怎么优化?

33. 对一个含有 n 个元素的整形数组排序?

34. 判断一个树是否是平衡二叉树?

35. 给定一个二叉树,计算节点值之和?

36. LRU 缓存算法实现?

37. 实现 getMin 功能的栈,要求 push 和 pop 的时间复杂度都是 O(1)

38. 两数之和算法

39. 二叉树的前序、中序、后序遍历