news 2026/4/18 12:20:06

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/18 5:35:11

Mamba:SSM、理论及在 Keras 和 TensorFlow 中的实现

Mamba:SSM(State Space Model)、核心理论及在 Keras / TensorFlow 中的实现 Mamba 是 2023 年底由 Albert Gu 和 Tri Dao 提出的一个重要序列建模架构(论文:Mamba: Linear-Time Sequence Modeling with Selective Sta…

作者头像 李华
网站建设 2026/4/18 1:27:22

别让 DNS 污染,毁了你的网络安全!

别让 DNS 污染,毁了你的网络安全! 在互联网的世界里,我们每天都在和各种网址打交道。你有没有想过,当你输入一个网址,按下回车键的那一刻,背后发生了什么?这其中,DNS(域…

作者头像 李华
网站建设 2026/4/16 13:58:08

实证分析还在死磕 Stata?虎贲等考 AI:零代码解锁顶刊级数据分析

“对着面板数据卡了 3 天,连 Hausman 检验都不会做”“用 Excel 算的回归结果,被导师批‘缺标准误’”“模型设定错了,整篇实证推倒重来”—— 数据分析是实证论文的 “硬核支撑”,也是无数科研人的 “头号难题”。传统数据分析工…

作者头像 李华