NiceOffer

面试面经 · 蚂蚁集团

【蚂蚁集团】【Java开发】【一面】深度拷问并发+集合+JVM,难度偏高

蚂蚁集团Java开发校招面经一面

【蚂蚁集团】【Java开发】【一面】

基本信息

项目内容
公司蚂蚁集团
岗位Java开发工程师
轮次一面(技术面)
时间2025年3月
面型体感视频面试,约60分钟,问题密集且深入
结果通过

面试题目(按提问顺序)

  1. 自我介绍
  2. HashMap 和 ConcurrentHashMap 的底层实现?再谈谈一致性哈希算法
  3. 乐观锁和悲观锁分别是什么?各自的应用场景?
  4. 可重入锁的实现原理?ReentrantLock 和 synchronized 的区别?
  5. volatile 关键字的作用?内存语义是什么?
  6. CAS 是怎么实现的?有什么缺陷?ABA 问题如何解决?
  7. Java 线程池参数及工作原理?拒绝策略有哪些?
  8. ThreadLocal 的底层实现?为什么会内存泄漏?如何避免?
  9. CountDownLatch 和 CyclicBarrier 的区别?
  10. JVM 内存模型详细说一下?堆和栈的区别?
  11. 类加载过程有几个阶段?双亲委派机制的目的?如何破坏它?
  12. Full GC 的触发条件有哪些?如何排查?
  13. MySQL 事务隔离级别有哪些?InnoDB 默认是哪个?
  14. MVCC 的实现原理是什么?undo log 版本链和 ReadView 是怎么配合的?
  15. MySQL 索引失效的场景有哪些?
  16. 说说你对分布式事务的理解?2PC、TCC、本地消息表各有什么优劣?
  17. 手撕代码:实现生产者-消费者模型(多线程)
  18. 算法题:手写快排,要求原地排序

面试感受 / 反馈

蚂蚁一面技术密度很高,问题一个接一个,几乎没有喘息空间。并发部分从 HashMap 一直追到 CAS 到 AQS,层层深入。JVM 部分问得很细,包括类加载和 GC 细节。建议把并发编程和 JVM 的知识点吃透。

准备建议

  • 并发编程是蚂蚁一面的重点,AQS 源码要能讲清楚
  • ThreadLocal 内存泄漏是高频考点
  • MVCC 的实现原理要理解 undo log + ReadView
  • 手写代码要熟练,生产者-消费者模型是经典题

反问示例

  • 蚂蚁技术团队的工作节奏是怎样的?
  • 新人进去后一般负责哪块业务?