面试面经 · 阿里巴巴
【阿里巴巴】【Java后端】【二面】场景题轰炸+系统设计,考察实战能力
【阿里巴巴】【Java后端】【二面】
基本信息
| 项目 | 内容 |
|---|---|
| 公司 | 阿里巴巴(国际站) |
| 岗位 | Java后端开发工程师 |
| 轮次 | 二面(技术面) |
| 时间 | 2025年4月 |
| 面型体感 | 电话面试+笔试链接,约45分钟 |
| 结果 | 通过 |
面试题目(按提问顺序)
- 自我介绍 + 项目介绍
- 详细介绍一个项目,技术选型的原因是什么?
- 场景题:接口平时 QPS 1000,流量有时翻倍到2000-3000,怎么做预案?
- 数据全量同步是怎么做的?增量同步呢?
- 缓存击穿和穿透的区别?分别怎么解决?
- 秒杀场景下超卖怎么解决?为什么用 Lua 脚本而不用分布式锁?
- Redis Lua 脚本的原子性是怎么保证的?
- Redis 是单线程还是多线程?靠什么保证高性能?
- ES 的查询为什么快?倒排索引的原理是什么?
- ES 存储是什么结构?和 MySQL 索引有什么区别?
- SpringBoot 与 ORM 框架的关系?
- IoC、AOP 的实现原理?
- Spring 中的代理模式有哪些?JDK 动态代理和 CGLIB 的区别?
- MyBatis 中
#{}和${}的区别?预编译的好处是什么? - MySQL 1000万数据怎么分页查询?深度分页如何优化?
- 慢 SQL 怎么排查?怎么判断有没有用上索引?
- 算法题:判断是否为回文链表
- 遇到 OOM 怎么排查?
面试感受 / 反馈
二面是老板级别的人,主要围绕项目和技术场景展开。场景题比较多,需要有实际经验才能答好。电话面试有些问题听不太清,建议用耳麦。笔试链接会提前发过来。
准备建议
- 流量突增的应对方案要能讲清楚(限流、弹性扩容、缓存预热)
- Redis + Lua 的原子操作是秒杀场景的标准答案
- ES 的倒排索引和存储结构要理解原理
- 深度分页优化:游标分页 vs 延迟关联
反问示例
- 团队未来半年的重点方向是什么?
- 对候选人的期望是什么?