news 2026/4/21 7:57:00

2025年 Java 面试八股文

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2025年 Java 面试八股文

2025–2026 年 Java 后端面试(尤其是金九银十、春招秋招、社招)的高频“八股文”已经高度内卷化。面试官越来越倾向于**“八股文 + 项目场景 + 真实问题解决”**的组合考察。

下面给你一份2025–2026 年仍然最主流、最常被问到的八股文分类汇总(基于大量真实面经、牛客/B 站/知乎/CSDN/GitHub 等渠道的统计),按出现频率从高到低排序。

每个模块列出8–15 个最高频问题(带极简答案框架 + 追问方向),建议你至少把带 ★ 的问题背到能脱口而出 + 手写代码

一、Java 基础 & 集合 & JVM(出现率 95%+)

  1. HashMap 1.8 底层数据结构 + 扩容机制 + 为什么引入红黑树?
    → 数组 + 链表 → 数组 + 链表/红黑树(阈值8 & 数组长度≥64)

  2. HashMap 是线程安全的吗?为什么?并发场景用什么替代?
    → 不安全 → ConcurrentHashMap(1.7 Segment → 1.8 CAS + synchronized)

  3. ConcurrentHashMap 1.7 vs 1.8 的区别?
    → 1.7 Segment 分段锁 → 1.8 Node + CAS + synchronized(锁粒度更细)

  4. JVM 运行时数据区有哪些?哪些是线程共享的?
    → 程序计数器(私有)、虚拟机栈、本地方法栈、堆(共享)、方法区/元空间(共享)

  5. JVM 垃圾回收算法有哪些?新生代用什么?老年代用什么?
    → 标记-清除、标记-整理、复制 → 新生代复制 + 标记清除,老年代标记整理/CMS/G1

  6. JVM 怎么判断对象可以被回收?(两种方式)
    → 引用计数法(不主流)、可达性分析(GC Roots)

  7. 常见的 GC Roots 有哪些?
    → 虚拟机栈中引用的对象、方法区中静态变量/常量、native 方法栈 JNI 引用等

  8. full gc 频繁的原因及解决思路?
    → 大对象、元空间溢出、老年代分配担保失败、System.gc() 等

  9. String、StringBuilder、StringBuffer 的区别?
    → String 不可变、SB 非线程安全、Buffer 线程安全

  10. equals() 和 hashCode() 的关系?重写 equals 必须重写 hashCode 吗?
    → 必须,否则 HashMap 等集合行为异常

  11. Java 8 新特性你用过哪些?Lambda、Stream、Optional、函数式接口

二、并发 & 多线程(出现率 90%+)

  1. 线程与进程的区别?
    → 进程资源独立、线程共享进程资源

  2. 创建线程的几种方式?哪种最好?
    → 继承 Thread、实现 Runnable、Callable + FutureTask、线程池(推荐)

  3. 线程池的核心参数?如何合理配置?
    → 核心数、最大数、队列、拒绝策略、线程工厂

  4. 线程池饱和后拒绝策略有几种?默认是哪个?
    → Abort、CallerRuns、Discard、DiscardOldest → 默认 AbortPolicy

  5. synchronized 和 ReentrantLock 的区别?
    → synchronized 自动释放、ReentrantLock 可中断、可公平、可定时

  6. volatile 关键字的作用?底层实现?
    → 可见性 + 禁止指令重排序 → 内存屏障 + Lock 前缀指令

  7. CAS 是什么?ABA 问题怎么解决?
    → Compare And Swap → AtomicStampedReference / AtomicMarkableReference

  8. AQS 是什么?核心思想?
    → AbstractQueuedSynchronizer → 状态变量 + CLH 队列 + 模板方法

  9. ReentrantLock 是怎么实现的?
    → 基于 AQS + CAS 修改 state

  10. 线程安全的单例模式有几种写法?
    → 双检锁(volatile)、静态内部类、枚举

  11. ThreadLocal 的原理?内存泄漏怎么解决?
    → 每个线程一个 Map → remove() 或 weak 引用 + 主动清理

三、Spring 全家桶(出现率 85%+)

  1. Spring IOC 的底层实现?
    → BeanDefinition + BeanFactory + 反射 + 代理

  2. Bean 的生命周期?
    → 实例化 → 属性填充 → 初始化前 → 初始化(init-method) → 使用 → 销毁前 → 销毁

  3. Spring 如何解决循环依赖?(三级缓存)
    → singletonObjects(一级) → earlySingletonObjects(二级) → singletonFactories(三级)

  4. @Transactional 传播行为有几种?默认是哪个?
    → REQUIRED(默认)、REQUIRES_NEW、NESTED 等 7 种

  5. Spring AOP 的底层实现?动态代理的两种方式区别?
    → JDK 动态代理(接口) vs CGLIB(子类)

  6. Spring Boot 自动配置原理?
    → @EnableAutoConfiguration → META-INF/spring.factories → Condition 条件装配

  7. Spring Boot 如何实现 starter?
    → 约定大于配置 + spring.factories + 自动配置类

  8. Spring MVC 的执行流程?
    → DispatcherServlet → HandlerMapping → HandlerAdapter → Controller → ViewResolver → View

四、MySQL & Redis & MQ(出现率 80%+)

  1. MySQL 索引为什么用 B+ 树?
    → 范围查询效率高、叶子节点存数据、扇出大

  2. InnoDB 与 MyISAM 的区别?
    → InnoDB 支持事务/行锁/外键,MyISAM 表锁/全文索引

  3. 索引失效的常见场景?
    → 函数、隐式转换、or、!=、is null、like %xx%

  4. Redis 数据类型有哪些?ZSet 底层实现?
    → String/Hash/List/Set/ZSet/BitMap/Geo/HyperLogLog → ziplist + skiplist

  5. Redis 持久化方式?RDB vs AOF 优缺点?
    → RDB 快照(紧凑)、AOF 日志(安全、可重放)

  6. Redis 缓存击穿/穿透/雪崩怎么解决?
    → 击穿:互斥锁 / 逻辑过期
    → 穿透:布隆过滤器 / 缓存空对象
    → 雪崩:随机过期 + 多级缓存 + 限流

  7. Kafka 高可用怎么保证?
    → 分区副本 + Leader/Follower + ISR

五、分布式 & 微服务 & 高并发场景(出现率 70%+)

  1. 分布式锁怎么实现?Redis vs Zookeeper?
    → Redis:setnx + 过期 + Lua 脚本
    → ZK:临时顺序节点

  2. 分布式事务有几种方案?优缺点?
    → 2PC/3PC、TCC、Seata-AT、MQ 最终一致性、本地消息表

  3. 秒杀系统怎么设计?超卖怎么防?
    → 限流 + 令牌桶 + 异步下单 + 库存扣减(Redis Lua / 数据库乐观锁)

  4. 服务拆分原则?如何避免分布式事务?

  5. JWT 原理?如何实现无状态登录?

六、项目 & 场景题(2025–2026 年占比越来越高)

  1. 线上 OOM / Full GC 频繁怎么排查?
    → jmap / jstat / arthas / dump 分析

  2. 深分页怎么优化?
    → 覆盖索引 + 延迟关联 + search after / scroll

  3. 扫码登录怎么实现?
    → UUID + 长轮询 / WebSocket + Redis 存储状态

  4. Redis 如何实现亿级用户连续签到统计?
    → Bitmap + HyperLogLog(UV) + bitfield 统计

  5. 如何设计一个高并发点赞系统?

,你现在是准备春招/秋招还是社招跳槽

  • 应届生 / 1–3 年:重点 Java 基础 + Spring + MySQL + Redis + 项目
  • 3–5 年:并发 + JVM 调优 + 分布式 + 场景题
  • 5 年+:架构设计 + 源码 + 真实故障案例

告诉我你的经验年限 + 目标公司档次(字节/阿里/腾讯/美团/京东/拼多多/大厂外包等),我可以给你更精准的优先级排序 + 刷题路线 + 答案模板

需要我展开某个模块的详细答案(比如三级缓存、AQS、秒杀防超卖)也可以直接说~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 16:48:13

同城便民信息小程序源码系统,支持本地商家入驻平台

温馨提示:文末有资源获取方式在信息爆炸的时代,人们对于便捷、高效的生活服务需求日益增长。为了满足这一市场需求,我们隆重推出全新升级的同城便民信息小程序源码系统,经过全面优化和bug修复,提供史上最强大的功能覆盖…

作者头像 李华
网站建设 2026/4/19 14:49:24

基于龙伯格观测器的永磁同步电机无感FOC技术:反电势提取与转子位置速度信息获取

基于龙贝格观测器的永磁同步电机无感FOC 1.采用龙伯格观测器提取电机反电势,使用PLL从反电势中获得转子位置和速度信息。 2.提供算法对应的参考文献和仿真模型,支持技术解答。 仿真模型纯手工搭建。 仿真模型仅供学习参考最近在研究永磁同步电机&#xf…

作者头像 李华
网站建设 2026/4/17 8:37:30

人工智能应用- 语言理解:02. 语言模型

后来,研究者发现词与词之间的关联更能反映语言的规律。一句话是否合理,往往取决于其中的词语搭配是否常见。例如,“我看电视”是合理的,因为“我”和“看”常常搭配在一起,“看”和“电视”也是自然的组合。而类似于“…

作者头像 李华
网站建设 2026/4/17 22:53:07

聚沙成塔,三步成书:GitBook极简入门教程

📖 本文简介 对于经常写作的工友来说,除了在各个平台上发布文章,其实还可以把自己的专栏整理成一本“在线书”,分享到网上,方便系统阅读和沉淀内容。 市面上这类工具不少,比如 VitePress、Docusaurus 等等…

作者头像 李华
网站建设 2026/4/17 19:39:27

口碑推荐!天玑AIGEO优化系统该选哪家?

行业痛点分析 在当前天玑AIGEO优化系统领域,企业面临着诸多技术挑战。数据表明,部分企业在营销过程中,由于传统广告投放缺乏精准定位,导致无效投放成本占比超30%。本地企业更是面临重重困难,线下门店引流半径有限&…

作者头像 李华