面试面经 · 阿里巴巴
【阿里巴巴】【Java后端】【二面】深挖项目架构+场景设计题,难度飙升
【阿里巴巴】【Java后端】【二面】
基本信息
| 项目 | 内容 |
|---|---|
| 公司 | 阿里巴巴 |
| 岗位 | Java后端开发工程师 |
| 轮次 | 二面(技术面/leader面) |
| 时间 | 2025年5月 |
| 面型体感 | 视频面试,约50分钟,面试官是+1的leader |
| 结果 | 通过 |
面试题目(按提问顺序)
- 自我介绍,继续深挖工作项目
- 项目的并发量、QPS 是多少?架构是怎样的?
- 系统分片是怎么做的?分片键如何选择?
- 系统的热点问题一般怎么处理?(热点key、热点数据)
- Kafka 怎么保证消息不丢失?重复消费了怎么办?
- Zookeeper 在 Kafka 中的应用是什么?
- 场景题:服务发布过程中分10批,第一批发完后初期负载很高后面恢复正常,结合经验说说怎么处理?
- Redis 在日常开发中都是怎么用的?
- 说说你对线程安全的理解
- ReentrantLock 的实现原理?AQS 底层是怎么工作的?
- CountDownLatch 用过吗?什么场景下用的?
- 死锁的原因有哪些?如何预防和排查?
- 加锁会带来哪些性能问题?怎么解决?
- 多线程编程题:10个线程模拟赛马,所有马就绪后才能开跑,到达终点后裁判宣布成绩
- 总结下自己的优缺点
面试感受 / 反馈
面试官是+1的leader,人很不错。二面相比一面更侧重项目经验和场景分析,会针对项目中的设计决策不断追问。场景题比较有挑战性,需要结合实际经验来回答。整体节奏比较舒服。
准备建议
- 对自己的项目要非常熟悉,能画出架构图
- 准备好高并发场景的处理方案(限流、降级、热点探测)
- 消息队列的消息可靠性和幂等性是必考题
- AQS 源码要理解到能讲清楚的程度
- 准备1-2个自己主导解决的技术难点案例
反问示例
- 团队目前最大的技术挑战是什么?
- 对新人在项目中的成长路径有什么建议?