面试面经 · 美团
【美团】Java后端二面(MySQL锁机制+Redis跳表+场景设计题)
【美团】Java后端二面
基本信息
| 项目 | 内容 |
|---|---|
| 公司 | 美团 |
| 岗位 | Java后端开发(秋招) |
| 轮次 | 技术二面 |
| 时间 | 2025年8月 |
| 面型体感 | 面试官专业且耐心,会引导思路 |
| 结果 | 通过,已 OC |
面试题目(按提问顺序)
- 介绍一下 MySQL 里的锁?(全局锁、表级锁、行级锁,InnoDB 的行锁实现原理)
- MySQL 的事务隔离级别?每个级别解决了什么问题?
- MVCC 如何解决不可重复读?Gap Lock 和 Next-Key Lock 什么时候用?
- Redis 有哪些常用数据结构?分别什么场景使用?
- 布隆过滤器的原理?项目中怎么自己实现一个布隆过滤器?
- Bitmap 使用的是 Redis 的还是自己写的数组?使用中遇到过什么问题?
- 冷用户和活跃用户给的 Bitmap 长度相同,会有内存浪费,怎么解决?
- 介绍一下跳表的结构?为什么 Redis 的 Zset 用跳表而不是红黑树?
- 跳表近似二分查找的时间复杂度,实际比 log N 高还是低?为什么?
- 聊实习项目:具体做了什么、技术选型、遇到的难点
- 场景题:如果让你设计一个优惠券发放系统,怎么保证不超发?
- 手撕代码:合并区间(LeetCode 56)
- 介绍业务 20 分钟(面试官对业务的理解很深)
面试感受 / 反馈
- 二面明显比一面更深入,尤其是 MySQL 锁和 Redis 底层结构
- 面试官会从你的回答不断追问,每个点都要准备到"可展开"的程度
- 业务介绍环节面试官会耐心引导,也会分享自己的经验
- 已 OC,整体流程约 1 小时
准备建议
- 二面重点考察"知其所以然":不仅要知道是什么,还要知道为什么这么设计
- 跳表、布隆过滤器、Bitmap 等 Redis 扩展结构要理解原理和工程应用
- 场景设计题要能给出完整方案:限流、幂等、异步、数据一致性
- 对实习项目要能讲清楚技术选型的理由和权衡
反问示例
- 到店团购 C 端流量场景的技术挑战?
- 团队对实习生的培养方式?