- 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. 二叉树的前序、中序、后序遍历