点击上方 Java后端,选择 设为星标

作者 | 不穿格子衫的Java程序猿
来源 | jianshu.com/p/1c8271f03aa5
上篇 | 终于有人把 Docker 讲清楚了
每一个互联网人心中都有一个大厂梦,百度、阿里巴巴、腾讯是很多互联网人梦寐以求的地方,而我也不例外。但是,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? 
 - 
怎么平衡工作和学习? 
 - 
有没有什么想问的 
 
总结

荐
阅
读
为什么 ?阿里规定超过 3 张表禁止 join
5. 团队开发中 Git 最佳实践

学Java,请关注公众号:Java后端
在看

本文分享自微信公众号 - Java后端(web_resource)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
相关文章
暂无评论...
