面灵AI

Java 大厂高频面试题复习面经

时间
2026-09
来源
牛客网

《面试题目》

  1. 很多人问我同一个问题:Java 面试还要不要背八股?
  2. JVM 内存模型中,程序计数器、虚拟机栈、本地方法栈、堆、元空间各自存什么?哪些区域会 OOM?
  3. 对象什么时候从 Eden 区进入 Survivor,又什么时候晋升到老年代?大对象会直接进老年代吗?
  4. G1 和 CMS 的核心区别是什么?什么业务场景你会选 G1,什么场景考虑 ZGC?
  5. synchronized 和 ReentrantLock 的区别?各自底层实现是什么?
  6. volatile 能保证原子性吗?它的可见性和有序性是怎么实现的?
  7. ThreadLocal 的原理是什么?为什么会内存泄漏?怎么避免?
  8. HashMap 的 put 流程是怎样的?为什么要用红黑树?负载因子为什么是 0.75?
  9. Spring IOC 容器的启动流程是怎样的?Bean 的生命周期有哪些阶段?
  10. Spring AOP 的实现原理是什么?JDK 动态代理和 CGLIB 代理分别在什么条件下使用?
  11. Spring 事务在什么情况下会失效?@Transactional 注解的传播行为有哪些?
  12. MySQL 索引的底层数据结构是什么?什么情况下索引会失效?
  13. MySQL 的四种隔离级别分别解决什么问题?MVCC 是怎么实现的?
  14. 分布式锁有哪些实现方案?Redis 分布式锁有什么问题?Redisson 是怎么解决的?
  15. 消息队列如何保证消息不丢失?如何保证消息不被重复消费?

《参考解析》

  1. 这类问题建议结合自己的项目经历和岗位要求准备具体案例,突出思考过程而非死记结论,面试官更看重解决问题的逻辑。
  2. 红黑树是内存内的平衡二叉树,追求单点操作的对数复杂度;B+树针对磁盘/索引场景做了扇出优化,减少IO次数,更适合范围查询和顺序扫描。
  3. Spring/Spring Boot的核心是IOC容器与AOP,理解Bean生命周期、自动装配原理和常见starter的加载顺序是回答这类问题的关键。