面试面经 · 阿里巴巴
【阿里巴巴】【Java后端】【一面】连环追问底层原理,笔试题意外多
【阿里巴巴】【Java后端】【一面】
基本信息
| 项目 | 内容 |
|---|---|
| 公司 | 阿里巴巴(淘天集团) |
| 岗位 | Java后端开发工程师 |
| 轮次 | 一面(技术面) |
| 时间 | 2025年4月 |
| 面型体感 | 远程视频,约90分钟,面试较轻松 |
| 结果 | 通过 |
面试题目(按提问顺序)
- 自我介绍,讲一下实习经历
- 实习中遇到的最大技术难点是什么?怎么解决的?
- 笔试题一:写出三种单例模式的实现(枚举、静态内部类、双重校验锁)
- 笔试题二:约瑟夫环问题——编号1到n循环报数1-3,报到3出列,求最后一人编号
- 笔试题三:两个线程交替打印1到n,一个打奇数一个打偶数(要求用 wait/notify 和 Semaphore 两种方式)
- GET 和 POST 的区别是什么?
- 如何优化 MySQL 查询?说说你的排查流程
- Java 反射是什么?有哪些应用场景?
- ConcurrentHashMap 的原理?和 Hashtable 有什么区别?
- volatile 关键字的作用?如何保证可见性和有序性?
- synchronized 的锁升级过程?偏向锁、轻量级锁、重量级锁的区别?
- 线程池的核心参数有哪些?拒绝策略有哪几种?
- Zookeeper 在你的项目中是怎么用的?有什么优势?
- RabbitMQ 怎么保证消费的时序性?
- 项目中如何保证数据一致性?
- Raft 协议了解吗?
- 描述一下 Linux epoll 的原理
面试感受 / 反馈
这次面试比较意外的是有三道笔试题,不是 LeetCode 那种难题,更偏向 Java 语言基础。面试官人挺好,全程没什么压力,不会的会慢慢引导。整体难度偏简单,有点像 KPI 面试。
准备建议
- 准备好单例模式的多种写法,要能白板手写
- 约瑟夫环是经典笔试题,掌握公式法和模拟法
- 多线程交替打印是高频手写题,多种实现方式都要会
- 技术八股按常规准备即可
反问示例
- 我有哪些可以提升的方面?
- 部门目前在招人方面更看重什么能力?