三面阿里被挂,竟获内推名额,历经 5 面拿下口碑 offer(Java 后台)
每一个互联网人心中都有一个大厂梦,百度、阿里巴巴、腾讯是很多互联网人梦寐以求的地方,而我也不例外。但是,BAT 等一线互联网大厂并不是想进就能够进的,它对人才的技术能力和学历都是有一定要求的,所以除了学历以外,我们的技术和能力都要过硬才行。
今年前前后后我参加了阿里巴巴两次面试,一次是社招,一次是内推,第一次社招 3 面过后就被挂了,内推历经 5 面拿到的 offer,进入的是阿里口碑部门,分享一下这次的面经,希望能帮助到大家。
 
 社招阿里巴巴(新零售部门),三面被挂
阿里巴巴一面(55 分钟)
- 先介绍一下自己吧 
- 说一下自己的优缺点 
- 具体讲一下之前做过的项目 
- 你觉得项目里给里最大的挑战是什么? 
- Hashmap 为什么不用平衡树? 
- AQS 知道吗?知道哪一些呢?讲一讲。 
- CLH 同步队列是怎么实现非公平和公平的? 
- ReetrantLock 和 synchronized 的区别 
- 讲一下 JVM 的内存结构 
- JVM 里 new 对象时,堆会发生抢占吗?你是怎么去设计 JVM 的堆的线程安全的? 
- 讲一下 redis 的数据结构 
- redis 缓存同步问题 
- 讲一讲 MySQL 的索引结构 
- 你有什么问题要问我吗? 
- 直接口头通知我:答得不错,准备二面吧 
阿里巴巴二面(45 分钟)
- 根据项目问了一些细节问题 
- 说一下 HashMap 的数据结构 
- 红黑树和 AVL 树有什么区别? 
- 如何才能得到一个线程安全的 HashMap? 
- 讲一下 JVM 常用垃圾回收期 
- redis 分布式锁 
- 再描述一下你之前的项目吧 
- 你觉得这个项目的亮点在哪里呢? 
- 你设计的数据库遵循的范式? 
- 你有没有问题? 
阿里巴巴三面(50 分钟)
- 又聊项目 
- 在项目中,并发量大的情况下,如何才能够保证数据的一致性? 
- elasticsearch 为什么检索快,它的底层数据结构是怎么样的? 
- JVM 内存模型 
- netty 应用在哪些中间件和框架中呢? 
- 线程池的参数 
- 讲一下 B 树和 B+树的区别 
- 为什么要用 redis 做缓存? 
- 了解 Springboot 吗?那讲一下 Springboot 的启动流程吧 
- 如何解决 bean 的循环依赖问题? 
- Java 有哪些队列? 
- 讲一讲 Spring 和 Springboot 的区别 
- 最近看了什么书?为什么? 
- 你平时是怎么学习 Java 的呢? 
 
 内推阿里巴巴(阿里口碑),5 面拿 offer(3 轮技术面+总监面+HR 面)
阿里巴巴一面(38 分钟)
- 自我介绍 
- 介绍项目, 具体一点 
- 讲一下 Redis 分布式锁的实现 
- HashMap 了解么吗?说一下 put 方法过程 
- HashMap 是不是线程安全? 
- ConcurrentHashMap 如何保证线程安全? 
- 数据库索引了解吗?讲一下 
- 常见排序算法 
- TCP 三次握手,四次挥手。 
- 深入问了乐观锁,悲观锁及其实现。 
阿里巴巴二面(45 分钟)
- 自我介绍+项目介绍。 
- 你在项目中担任什么样的角色? 
- 那你觉得你比别人的优势在哪里?你用了哪些别人没有的东西吗? 
- Java 怎么加载类? 
- linux 常用命令有哪些? 
- Spring 的 IOC, AOP。 
- 讲一下 ORM 框架 Hibernate 
- 设计模式了解吗?讲一下 
- 自己实现一个二阶段提交,如何设计? 
- 你还有什么想问的? 
阿里巴巴三面(30 分钟)
- 说一下自己做的项目 
- 问了一些项目相关的问题 
- wait()和 sleep()的区别 
- 原子变量的实现原理 
- CAS 的问题,讲一下解决方案。 
- 有没有更好的计数器解决策略 
- 讲一讲 NIO 和 BIO 的区别 
- Nginx 负载均衡时是如何判断某个节点挂掉了? 
- 讲一下 redis 的数据类型和使用场景 
- k8s 的储存方式是怎样的? 
- Spring AOP 原理是什么?怎么使用?什么是切点,什么是切面?最好是举个例子 
- 算法题:给一堆硬币的 array,返回所有的组合 
阿里巴巴总监面(34 分钟)
- 算法:给一个 set 打印出所有子集;多线程从多个文件中读入数据,写到同一个文件中;判断 ip 是否在给定范围内;打乱一副扑克牌,不能用额外空间,证明为什么是随机的。 
- Tcp 和 udp 区别 
- 线程池的原理以及各种线程池的应用场景 
- 线程池中使用有限的阻塞队列和无限的阻塞队列的区别 
- 如果你发现你的 sql 语句始终走另一个索引,但是你希望它走你想要的索引,怎么办? 
- mysql 执行计划 
- 数据库索引为什么用 b+树? 
- 你在做 sql 优化主要从哪几个方面做,用到哪些方法工具? 
- 有没有想问的? 
阿里巴巴 HR 面(23 分钟)
- 自我介绍 
- 平时怎么学习的? 
- 有什么兴趣爱好吗? 
- 怎么看待 996? 
- 怎么平衡工作和学习? 
- ...... 
- 有没有什么想问的 
总结
社招时面试新零售部门,主要因为准备不充分,面试又比较紧张,所以发挥不是很好,三面之后没有了后续。之后意识到学习的重要性,平时多拿出时间来学习,后来幸运地拿到内推资格,为了把握住这次机会,做了很多准备,好在已经拿到 offer,约定在下周入职。
以上两次面试阿里的真题基本都展示出来了,因篇幅原因,答案整理成文档的形式,需要真题答案的可以点击这里即可获取到文章中的文档,资料!
 
 更多资料解锁:架构学习资料+面试宝典+Spring 专题+JVM+MySQL+Netty 实战资料等。
 
  
 











 
    
评论