27届暑期后端高频面试题汇总(字节腾讯美团等多家大厂)
最近把牛客上近一个月Java 后端面经挨个翻了一遍,有字节、腾讯、拼多多、快手、美团、滴滴等这些公司,整理了各家闻到的高频题目和知识点,牛友有需要的自取。
题目均来自其他牛友发的面经,真实可靠,每道题也都标注了来源
觉得有帮助的话,辛苦点赞收藏转发一键三连,需要其他岗位的,也可以评论留言
一、集合(几乎每家一面必问)
1. HashMap 底层数据结构 / 怎么扩容?
来源:快手后端一面、字节中国交易与广告一面、转转Java实习、腾讯二面、腾讯云智一面
- 快手追问:哈希表遍历是有序还是随机?排序规则?怎么计算桶位(自定义对象呢)?
- 字节追问:Java 17 的 HashMap 插入/查找时间复杂度
2. HashMap 为什么线程不安全?ConcurrentHashMap 为什么线程安全?哪些操作是 CAS、哪些上锁?
来源:转转Java实习、腾讯云智一面、字节5.14中国广告一面、用友Java后端
3. ArrayList 和 LinkedList 区别?往 ArrayList 中间插入的时间复杂度?怎么优化?
来源:字节中国交易与广告一面、得物后端AI面、腾讯二面
4. 哪些集合是线程安全的?怎么把 ArrayList 变线程安全?说说 CopyOnWriteArrayList。
来源:招银一面、字节中国交易与广告一面、熙牛医疗一面
- 字节追问:顺着“加锁”追到 CAS 的 Compare 比较什么?读操作有没有锁?
二、并发与锁(大厂一二面重灾区)
5. synchronized 和 ReentrantLock 区别?
来源:浩鲸科技、用友Java后端、字节二面、转转Java实习
- 社招货拉拉追问:synchronized 锁升级原理,无锁→偏向→轻量级→重量级各在什么条件触发
6. 线程池工作流程?核心参数?拒绝策略?为什么不建议直接用 Executors?
来源:浩鲸科技、熙牛医疗一面、字节一面后端、社招叶子科技
- 中厂二面追问:线上任务堆积了怎么排查?核心参数怎么定?项目里踩过什么坑?
7. CAS 是什么?ABA 问题怎么解决?乐观锁优缺点?
来源:字节中国交易与广告一面、浩鲸科技、腾讯云智一面、得物后端AI面
8. ThreadLocal 用法和注意事项?原理?为什么 key 是弱引用、value 是强引用?
来源:字节二面、腾讯云智一面、阿里飞猪
- 社招滴滴追问:既然 key 弱引用了,为什么还会内存泄漏?怎么避免?
9. volatile 的作用?为什么只能保证可见性和有序性、保证不了原子性?
来源:腾讯云智二面、社招振心
- 腾讯云智二面追问:懒汉单例里 volatile 有什么用?为什么需要?
10. Java 内存模型(JMM):主存和工作内存是什么?两者怎么同步?
来源:字节用户增长一面、腾讯云智二面
11. 创建线程有几种方式?线程间数据同步怎么做?
来源:快手后端一面、字节二面
三、JVM(项目跑在服务器上就会问)
12. JVM 内存分哪几块?堆里的对象一定会被回收吗?引用类型会被回收吗?
来源:腾讯视频后端、字节中国交易与广告一面、有赞一面
13. 对象什么时候被回收?怎么判断对象该回收/已死亡?不可达后会立刻回收吗?
来源:浩鲸科技、字节用户增长一面、腾讯后端日常实习
14. 常用垃圾回收器有哪些?年轻代和老年代存储方式有什么不同?
来源:古茗后端、腾讯CSIG一面、有赞一面“高并发在线社区怎么选 GC”
- 社招滴滴、Bigo追问:CMS 和 G1 相比哪个好?增量更新和原始快照?
15. 线上遇到过 OOM 吗?怎么排查?top/jps/jstack/jmap 各能看什么?
来源:腾讯云智一面、字节用户增长一面、致远互联“无头服务器怎么定位”
- 高频追问:完整讲一遍你的排查流程,用了哪些命令,怎么定位到根因(只背命令名不会真用就露馅)
16. 标记清除算法导致内存碎片化,要分配一块很大的内存怎么办?
来源:腾讯后端开发日常实习
四、MySQL(出场率最高的模块)
17. 索引为什么用 B+ 树、不用 B 树/二叉树?B+ 树叶子和非叶子节点分别存什么?
来源:招银一面、字节中国交易与广告一面、拼多多、有赞一面、字节二面
- 阿里淘宝闪购追问:聚簇索引和覆盖索引为什么更快
18. 索引失效有哪些场景?模糊匹配一定失效吗?联合索引 (A,B,C),WHERE A ORDER BY C 走不走索引?
来源:熙牛医疗一面+二面、用友Java后端、字节二面后端、腾讯二面、招银一面
- 字节后端一面真题:(name,score,subject) 下:WHERE name=? AND score>? → 走索引WHERE score>? → 不走索引WHERE subject=? → 不走索引
- 字节用户增长追问:联合索引顺序可以调换来命中,别只想工程优化
19. 事务隔离级别有哪些?可重复读解决了什么?幻读怎么解决?MVCC 原理?
来源:字节中国交易与广告一面、拼多多三面、浩鲸科技、转转、wxg、有赞一面
- 拼多多三面追问:InnoDB 怎么实现 RR 和 RC?ReadView 可见性算法具体怎么推?
20. MySQL 有哪些日志?binlog 主从复制是拉取还是推送?binlog 和 redo log 二阶段提交谁先提交?
来源:字节后端一面、字节二面后端、字节5.14中国广告一面
21. 事务的原子性怎么实现?undo log 怎么保证?回滚时断电了,重启后能查到什么?
来源:字节中国交易与广告一面、浩鲸科技
22. 慢 SQL 怎么排查优化?explain 主要看哪几个字段?千万级数据 limit 100000,10 怎么优化?
来源:熙牛医疗一面、阿里淘宝闪购、有赞一面、转转
23. 手写 SQL
来源:字节一面、字节后端一面
- user 表和 order 表取 2025 年消费额前三的用户
- 平均分大于 80 的学生
- 每门科目都不低于 80 的学生
24. 左连接和右连接的区别?两表内联查询 on 和 where 的区别?
来源:北方新宇笔试面、得物后端AI面
五、Redis(缓存模块必问)
25. Redis 为什么快?常见数据结构?zset 底层(跳表)怎么实现、跳表为什么快?
来源:字节番茄小说后端、腾讯后端日常实习、古茗后端、转转二面
26. Redis 持久化方式?RDB 和 AOF 区别?RDB 怎么做到某一时刻的完整内存快照?fork 子进程为什么能实现快照?
来源:字节后端一面、拼多多三面、转转二面、字节二面后端
- 拼多多三面追问:fork 后父进程改了内存,子进程为什么看不到?操作系统怎么做到的(写时复制 COW)?
27. 缓存三大问题(击穿/穿透/雪崩)怎么解决?布隆过滤器、互斥锁、逻辑过期分别解决什么?
来源:字节二面后端、熙牛医疗二面、腾讯视频后端、腾讯云智“缓存三剑客”
28. 缓存一致性怎么保证?先删缓存还是先更新数据库?删缓存失败、重试也失败怎么办?
来源:字节后端二面、腾讯后端日常实习、字节二面、社招中信证券、得物
29. Redisson 分布式锁原理?看门狗机制?Redis 分片集群怎么定位节点?
来源:熙牛医疗二面、得物后端AI面、字节二面后端、快手后端一面
- 追问集锦:锁的 key 成了热点 key 怎么优化(字节二面后端)大 key / 热 key 有什么问题?怎么设计热 key 探测(社招 Shopee、Bigo)集群哈希槽为什么是 16384(转转二面)
六、Spring / 框架 / 中间件
30. 介绍一下 Spring?Bean 生命周期?IOC 核心功能?怎么解决循环依赖(三级缓存)?
来源:招银一面、腾讯云智二面、拼多多
- 拼多多三面追问:让你自己设计一个简化版 IOC,怎么并行初始化(拓扑排序)
31. Spring AOP 核心价值?JDK 动态代理和 CGLIB 区别?默认用哪个、什么时候用 CGLIB?
来源:腾讯云智二面、熙牛医疗一面
32. 事务失效有哪些场景?怎么解决?同类内部调用为什么失效?
来源:熙牛医疗一面、社招领星
33. MyBatis 一级/二级缓存?#{} 和 ${} 的区别?结果字段与实体属性不一致怎么办?
来源:浩鲸科技、社招货拉拉
34. Kafka:怎么保证消息不丢失/不重复/幂等?怎么保证消息有序?高性能靠什么?消息堆积怎么处理?为什么一个分区只能被一个消费者组的一个消费者消费?
来源:腾讯WXG支付一面“消息有序+offset”、得物、字节一面后端、社招货拉拉“零拷贝”、腾讯云智一面
35. 三大 MQ(Kafka/RabbitMQ/RocketMQ)优缺点?为什么选 RabbitMQ?死信队列怎么处理?
来源:字节一面后端、字节用户增长一面、腾讯视频后端
36. 分库分表怎么做?分片 key 怎么选?有什么缺陷怎么优化?雪花算法时钟回拨怎么办?
来源:腾讯WXG支付一面、字节二面“双key分表”、社招乐信
七、计算机网络 & 操作系统(408底子)
37. 输入网址到页面展示的全过程?如果是 HTTPS 呢?
来源:字节一面、腾讯二面、滴滴、腾讯云智;HTTPS追问来自字节后端一面
38. select / poll / epoll 的区别和原理?epoll 怎么突破连接数限制?LT 和 ET 区别?
来源:腾讯云智二面、美团Java开发、字节飞书一面、腾讯二面、滴滴
39. TCP 和 UDP 区别?TCP 怎么保证可靠?三次握手少一次会怎样?TIME_WAIT / CLOSE_WAIT 是什么?
来源:腾讯二面、腾讯云智二面、滴滴、字节;SYN Flood是腾讯二面真题
40. 进程和线程的区别?用户态和内核态区别?多进程/多线程/多协程的区别?
来源:腾讯云智研发一面、腾讯视频后端、滴滴、字节二面后端
41. 零拷贝原理?半连接队列和全连接队列是什么?为什么要有虚拟内存?
来源:美团Java开发;虚拟内存是快手后端一面真题
42. 死锁产生的原因、怎么避免和解决?
来源:腾讯WXG一面“分布式死锁”、社招腾讯音乐“数据库死锁怎么解决”
八、手撕算法(大厂一面几乎必撕,中小厂基本不撕)
按近一个月出现频次排:
⭐⭐⭐⭐⭐ | LRU缓存 | 字节RAG、腾讯CSIG一面、腾讯视频后端 |
⭐⭐⭐⭐⭐ | 最长无重复子串 | 腾讯WXG一面、字节二面、字节用户增长一面、滴滴 |
⭐⭐⭐⭐ | 反转链表 / 每m个反转 / 隔K反转 | 字节后端三面、腾讯WXG、腾讯云智、社招懂车帝 |
⭐⭐⭐⭐ | 二叉树子结构 / 最近公共祖先 | 字节后端一面、快手、字节后端二面 |
⭐⭐⭐ | 合并K个升序链表 | 腾讯视频后端 |
⭐⭐⭐ | 岛屿数量 | 字节一面后端、字节飞书一面 |
⭐⭐ | 蓄水池抽样 | 拼多多三面 |
⭐⭐ | 下一个更大/更小的数、滑动窗口最大值 | 字节、拼多多一面 |
⭐⭐ | 大文件处理 | 字节后端三面、滴滴 |
九、项目 & 场景题(越往后轮越重,决定能不能过)
近一个月好几篇面经的共同教训:大厂二三面、中小厂普遍栽在“项目一问就空”。
常见场景题:
- 冗余字段怎么保证一致性?多表事务怎么实现?旁路缓存是强一致还是最终一致?(字节后端一二面)
- 秒杀/抢红包/超时订单关闭:架构怎么设计?幂等怎么保证(一人一单)?Redis预处理和MQ不一致怎么办?(腾讯WXG支付一面)
- 设计一个泛型类,并发安全 + 限流5秒5次 + 容量100的LRU淘汰(用友Java后端)
十、AI / Agent方向(今年新增,传统后端岗也在问)
- RAG工作流分几步?向量检索怎么判断相似度?知识库怎么生成?(腾讯视频后端、字节一面后端、阿里飞猪)
- Agent架构怎么设计?ReAct和Plan区别?怎么编排多Agent系统?为什么不能让Agent自己审查自己?(字节一面后端、字节二面后端)
- MCP和Skills区别?LangChain和LangGraph区别?短期记忆和长期记忆怎么划分?(字节飞书一面、得物、招银)