核心内容摘要
2026最新最全国内大厂Java面试高频题库
2025–2026 年 Java 后端面试尤其是金九银
春招秋招、社招的高频“八股文”已经高度内卷化。
面试官越来越倾向于**“八股文 项目场景 真实问题解决”**的组合考察。
下面给你一份2025–2026 年仍然最主流、最常被问到的八股文分类汇总基于大量真实面经、牛客/B 站/知乎/CSDN/GitHub 等渠道的统计按出现频率从高到低排序。
每个模块列出8–15 个最高频问题带极简答案框架 追问方向建议你至少把带 ★ 的问题背到能脱口而出 手写代码。
Java 基础 集合 JVM出现率 95%HashMap
8 底层数据结构 扩容机制 为什么引入红黑树★→ 数组 链表 → 数组 链表/红黑树阈值8 数组长度≥64HashMap 是线程安全的吗为什么并发场景用什么替代★→ 不安全 → ConcurrentHashMap
7 Segment →
8 CAS synchronizedConcurrentHashMap
7 vs
8 的区别★→
7 Segment 分段锁 →
8 Node CAS synchronized锁粒度更细JVM 运行时数据区有哪些哪些是线程共享的★→ 程序计数器私有、虚拟机栈、本地方法栈、堆共享、方法区/元空间共享JVM 垃圾回收算法有哪些新生代用什么老年代用什么★→ 标记-清除、标记-整理、复制 → 新生代复制 标记清除老年代标记整理/CMS/G1JVM 怎么判断对象可以被回收两种方式★→ 引用计数法不主流、可达性分析GC Roots常见的 GC Roots 有哪些→ 虚拟机栈中引用的对象、方法区中静态变量/常量、native 方法栈 JNI 引用等full gc 频繁的原因及解决思路★→ 大对象、元空间溢出、老年代分配担保失败、System.gc() 等String、StringBuilder、StringBuffer 的区别★→ String 不可变、SB 非线程安全、Buffer 线程安全equals() 和 hashCode() 的关系重写 equals 必须重写 hashCode 吗★→ 必须否则 HashMap 等集合行为异常Java 8 新特性你用过哪些Lambda、Stream、Optional、函数式接口★
并发 多线程出现率 90%线程与进程的区别★→ 进程资源独立、线程共享进程资源创建线程的几种方式哪种最好★→ 继承 Thread、实现 Runnable、Callable FutureTask、线程池推荐线程池的核心参数如何合理配置★→ 核心数、最大数、队列、拒绝策略、线程工厂线程池饱和后拒绝策略有几种默认是哪个★→ Abort、CallerRuns、Discard、DiscardOldest → 默认 AbortPolicysynchronized 和 ReentrantLock 的区别★→ synchronized 自动释放、ReentrantLock 可中断、可公平、可定时volatile 关键字的作用底层实现★→ 可见性 禁止指令重排序 → 内存屏障 Lock 前缀指令CAS 是什么ABA 问题怎么解决★→ Compare And Swap → AtomicStampedReference / AtomicMarkableReferenceAQS 是什么核心思想★→ AbstractQueuedSynchronizer → 状态变量 CLH 队列 模板方法ReentrantLock 是怎么实现的→ 基于 AQS CAS 修改 state线程安全的单例模式有几种写法★→ 双检锁volatile、静态内部类、枚举ThreadLocal 的原理内存泄漏怎么解决★→ 每个线程一个 Map → remove() 或 weak 引用 主动清理
Spring 全家桶出现率 85%Spring IOC 的底层实现★→ BeanDefinition BeanFactory 反射 代理Bean 的生命周期★→ 实例化 → 属性填充 → 初始化前 → 初始化init-method → 使用 → 销毁前 → 销毁Spring 如何解决循环依赖三级缓存★→ singletonObjects一级 → earlySingletonObjects二级 → singletonFactories三级Transactional 传播行为有几种默认是哪个★→ REQUIRED默认、REQUIRES_NEW、NESTED 等 7 种Spring AOP 的底层实现动态代理的两种方式区别★→ JDK 动态代理接口 vs CGLIB子类Spring Boot 自动配置原理★→ EnableAutoConfiguration → META-INF/spring.factories → Condition 条件装配Spring Boot 如何实现 starter→ 约定大于配置 spring.factories 自动配置类Spring MVC 的执行流程★→ DispatcherServlet → HandlerMapping → HandlerAdapter → Controller → ViewResolver → View
MySQL Redis MQ出现率 80%MySQL 索引为什么用 B 树★→ 范围查询效率高、叶子节点存数据、扇出大InnoDB 与 MyISAM 的区别★→ InnoDB 支持事务/行锁/外键MyISAM 表锁/全文索引索引失效的常见场景★→ 函数、隐式转换、or、!、is null、like %xx%Redis 数据类型有哪些ZSet 底层实现★→ String/Hash/List/Set/ZSet/BitMap/Geo/HyperLogLog → ziplist skiplistRedis 持久化方式RDB vs AOF 优缺点★→ RDB 快照紧凑、AOF 日志安全、可重放Redis 缓存击穿/穿透/雪崩怎么解决★→ 击穿互斥锁 / 逻辑过期→ 穿透布隆过滤器 / 缓存空对象→ 雪崩随机过期 多级缓存 限流Kafka 高可用怎么保证→ 分区副本 Leader/Follower ISR
分布式 微服务 高并发场景出现率 70%分布式锁怎么实现Redis vs Zookeeper★→ Redissetnx 过期 Lua 脚本→ ZK临时顺序节点分布式事务有几种方案优缺点★→ 2PC/3PC、TCC、Seata-AT、MQ 最终一致性、本地消息表秒杀系统怎么设计超卖怎么防★→ 限流 令牌桶 异步下单 库存扣减Redis Lua / 数据库乐观锁服务拆分原则如何避免分布式事务JWT 原理如何实现无状态登录
项目 场景题2025–2026 年占比越来越高线上 OOM / Full GC 频繁怎么排查→ jmap / jstat / arthas / dump 分析深分页怎么优化→ 覆盖索引 延迟关联 search after / scroll扫码登录怎么实现→ UUID 长轮询 / WebSocket Redis 存储状态Redis 如何实现亿级用户连续签到统计→ Bitmap HyperLogLogUV bitfield 统计如何设计一个高并发点赞系统你现在是准备春招/秋招还是社招跳槽应届生 / 1–3 年重点 Java 基础 Spring MySQL Redis 项目3–5 年并发 JVM 调优 分布式 场景题5 年架构设计 源码 真实故障案例告诉我你的经验年限 目标公司档次字节/阿里/腾讯/美团/京东/拼多多/大厂外包等我可以给你更精准的优先级排序 刷题路线 答案模板。
需要我展开某个模块的详细答案比如三级缓存、AQS、秒杀防超卖也可以直接说