面灵AI

Java暑期实习必备面试八股文30题与复习路线

时间
2026-06
来源
牛客网

《面试题目》

  1. 的区别?
  2. 区别?
  3. 面向对象的三大特性是什么?
  4. 抽象类和接口的区别?JDK 8 之后呢?
  5. 重载和重写的区别?
  6. Java 异常体系?
  7. 分别干什么?
  8. 深拷贝和浅拷贝区别?怎么实现深拷贝?
  9. 区别?底层结构?
  10. 底层原理?JDK 1.8 有什么变化?
  11. 为什么线程不安全?
  12. 怎么保证安全?
  13. 如何保证元素不重复?
  14. 创建线程有几种方式?推荐哪种?
  15. 线程有哪些状态?怎么切换?
  16. 作用?能保证原子性吗?
  17. 线程池核心参数?拒绝策略有哪些?
  18. 什么是死锁?怎么避免?
  19. JVM 内存结构?哪些区域线程共享?
  20. 垃圾回收算法有哪些?
  21. 常见垃圾收集器?G1 特点?
  22. 类加载过程?双亲委派模型是什么?
  23. Spring IOC 是什么?DI 怎么实现?
  24. Spring AOP 原理?常见应用场景?
  25. Spring Bean 生命周期?
  26. Spring Boot 自动配置原理?
  27. 索引为什么用 B+ 树?
  28. 事务 ACID?隔离级别?脏读/幻读是什么?
  29. TCP 和 UDP 区别?三次握手四次挥手?

《参考解析》

  1. 这类问题建议结合自己的项目经历和岗位要求准备具体案例,突出思考过程而非死记结论,面试官更看重解决问题的逻辑。
  2. 进程是资源分配的基本单位,线程是CPU调度的基本单位,协程是用户态的轻量级调度单位,切换成本远低于线程,但需要语言/运行时支持。
  3. 算法题先明确边界条件与不变量,再选择合适的数据结构;双指针、哈希表、递归/迭代是常见工具,目标是把复杂度控制在线性或对数级别。
  4. Spring/Spring Boot的核心是IOC容器与AOP,理解Bean生命周期、自动装配原理和常见starter的加载顺序是回答这类问题的关键。