写点什么

【3 年 Java 经验面经】阿里三面被挂!幸获内推历经 5 轮终于拿到口碑 offer!

发布于: 2020 年 11 月 30 日

每一个互联网人心中都有一个大厂梦,百度、阿里巴巴、腾讯是很多互联网人梦寐以求的地方,而我也不例外。但是,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。



本次面经来源于我之前的一位同事的面试经历



金三银四跳槽季,小弟为各位大哥准备了两份面试宝典:



  • 一份是技术干货《Java核心知识点整理》

  • 一份是面试真题《1000道互联网Java工程师面试题》

  • 一键三连+评论,然后添加我的VX(tkzl6666)即可免费领取。



Java核心知识点整理





1000道互联网Java工程师面试题





用户头像

微信:tkzl6666 添加获取你想要的Java资料 2019.01.29 加入

添加VX(tkzl6666 ) 获取大厂面试真题,面试复习资料,Java进阶资料,Java实战项目。

评论 (1 条评论)

发布
用户头像
【3 年 Java 经验面经】阿里三面被挂!幸获内推历经 5 轮终于拿到口碑 offer!
2020 年 11 月 30 日 15:43
回复
没有更多了
【3年Java经验面经】阿里三面被挂!幸获内推历经5轮终于拿到口碑offer!