太为难我了,阿里面试了7轮(拿下P7岗offer)
前言
今年的大环境非常差,互联网企业裁员的现象比往年更严重了,可今年刚好是我的第一个“五年计划”截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽也在疫情好转之后开始进行了。但是,不得不说,这次阿里面试真的太难为我了,可以说是和面试官大战了7个回合,不过好在最后给了offer。
我个人情况是5年Java后台经验,阿里定级P7的样子,下面是我的面试经历分享,希望能带来一些不一样的启发和帮助。
我与阿里面试官“大战”7回合,胜
第一轮:
第一轮面试是电话面,以基础知识为主,前后大概2个小时左右,这个阶段我是比较紧张的。
- 先自我介绍,包含日常工作
- 多线程,ThreadLocal,问了父子线程怎么共享数据 interitableThreadLocals
- Lock和Sync的区别
- AQS原理(执行过程源码,入队出队的细节,源码细节)
- CountDownLatch和CyclicBarrier的区别是什么源码级别
- volatile从指令重排序,内存屏障
- 数据库,MySQL索引,执行计划、count1*区别、举例优化sql、MVCC和事务隔离级别的关系、间隙锁、行锁
- JVM调优(可达性分析算法中根节点有哪些、cms和G1区别、怎样GC调优、怎样排查CPU彪高、内存彪高、逃逸分析)
- redis数据结构、跳跃表、redis qps能上多少,怎么知道的、sentinel和cluster区别和各自适用场景、redis cluster集群同步过程、redis单线程为什么快、多大叫大key、热key产生原因和后果以及怎么解决、本地缓存需要高时效性怎么办?
- spring的作用、spring循环依赖怎么解决(说出三级缓存源码细节)、spring aop原理(动态代理)、spring bean生命周期(源码细节,以及各个位置的设计思路,有什么可扩展的)
- dubbo服务暴露和引用过程,负载均衡策略,容错机制在哪里实现的源码
- 项目中碰到的问题。
- 为什么换工作,如果通过会直接说有笔试题,和你确认笔试时间。
第二轮:
第二轮是笔试,总共两道题,第一题是写代码,第二题是写技术方案。
主要是以查询为主,考察锁粒度、时间粒度上的细节点。(详细省略)
第三轮:
第三轮是现场面试,这一轮面试以解决方案为主,前后大概约1小时20分钟。
- 缓存穿透,让我设计一个防止缓存穿透的解决方案,简单的就是存null值,但肯定会深究,可以结合布隆过滤器,设计分布式系统,里面又会问到流量分发到具体过滤器服务的方式,比如一致性hash算法,怎么调用?比如dubbo直连、等等细节会边说边问。
- 有没有做限流,设计一个侵入性最小的限流服务。
- 项目中碰到的问题,最好说框架本身问题,能体现个人能力,也避免问题太低级被面试官看low,刚好之前有发现一个dubbo的bug,所以这问题应该回答的还可以。
- 为什么换工作,每轮都会问,这个得想好。
第四轮:
交叉面,项目为主,时间大概为40分钟,问的内容不多,这个阶段我个人的状态比较放松了,与面试官交谈的方式也自然了许多。
- 介绍最熟悉的项目,业务上有没有什么优化点;和同行业其他公司的差距和优势(估计是P7的标准问题,总之我回答得不是太好)
- Dubbo服务调用过程
- NIO、BIO区别,NIO解决了什么问题,Netty线程模型(源码拷问)。
- MQ相关
第五轮:
这轮面试真的让我比较为难了,面试官问什么问题都会问到具体的数值,状态又变紧张了,如履薄冰啊。
- 项目介绍
- 听到说做了限流,限流标准(并发数? qps?并发数和qps关系?说出了5种限流方案和对应算法原理)
- dubbo调用端怎么在jvm中生成对应服务?dubbo服务端和调用端超时时间设置和区别、dubbo长连接。
- mysql行锁最大并发数?(秒杀项目指出)
- 设计秒杀系统,我说的异步的方式,会问怎么优化?改为了同步的方式,异步和同步区别? 然后我也问了阿里那边
- 碰到哪些技术难点?怎么解决?有没有参考其他大厂?其他大厂方案什么样的?有没有关注阿里这边最新的技术?
- 刚刚的秒杀系统,会涉及到多个库表的更新,分布式事务怎么解决,我说的消息最终一致性,异步?有没有更好的方案?同步TCC方式,TCC方式原理?(三个阶段的具体实现)
第六轮:
总监面,主要是自我介绍和项目介绍,聊天的方式比较舒服,大部分是对你的整体价值观做宏观的把控(比如上进心,责任心,心态,工作激情等,差不多15分钟就结束了。
- 说了自己的项目
- 主要用到的架构,做了些什么?
- 比较复杂的业务逻辑讲一下?
- ...
第七轮:
HR面,阿里的HR很不一样,无论是气质还是谈吐都让人佩服,问的问题也很有针对性,最后告诉我会电话反馈结果。
- 自我介绍
- 如何学习新技术?
- 如何团队合作的?
- 遇到很难的问题,如何解决?如何突破?
- 职业规划
- ......
阿里7轮面试经历完整版(含答案和解析):
由于要控制文章篇幅,所以都是以截图方式展示内容。关于完整版面试手册,若是感兴趣想学习的朋友可关注公众号【清朝程序猿】领取
基础篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf6591874a08b84796ac1eee1753b635c90ac161d29d9b291658b82637b8b5d86559d188.jpg)
JVM 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf6591872c6e106f28d49959e2adcf44adc05d1cd29d9b291658b82637b8b5d86559d188.jpg)
多线程 &并发篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf659187140cbdfe7043b7a5e1961da1046b72a9d29d9b291658b82637b8b5d86559d188.jpg)
Spring 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf65918792a07299dafc8df2f97bc9b5de96b325d29d9b291658b82637b8b5d86559d188.jpg)
MyBatis 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf6591873d1db3c74b5545f52a8c0e27672d3935d29d9b291658b82637b8b5d86559d188.jpg)
MySQL 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf659187d65202517704b12caac6c52010b10fc7d29d9b291658b82637b8b5d86559d188.jpg)
SpringBoot 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf65918790ee913b791852b444d3d97801c2338bd29d9b291658b82637b8b5d86559d188.jpg)
SpringCloud 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf659187a10601a6d1a40d2736745074f111d669d29d9b291658b82637b8b5d86559d188.jpg)
Dubbo 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf6591871d6d90282fc1f312806121f71c3a85a1d29d9b291658b82637b8b5d86559d188.jpg)
Nginx 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf659187b0a8523db0e8b7be7fcb3d1f067136ddd29d9b291658b82637b8b5d86559d188.jpg)
MQ 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf65918753286fe901c7d96d74aaa45b4d8553a5d29d9b291658b82637b8b5d86559d188.jpg)
数据结构与算法篇
Linux 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf659187344bfef6a677127a195b7fb08b4acc04d29d9b291658b82637b8b5d86559d188.jpg)
Zookeeper 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf6591872c0b7cf2d0f1eb51f42afa0eea6531e1d29d9b291658b82637b8b5d86559d188.jpg)
Redis 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf65918746b6a03093971d4a1c1bb0db8a17db8ed29d9b291658b82637b8b5d86559d188.jpg)
分布式篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf6591875c92b0d24462fd19c045666626d5c30bd29d9b291658b82637b8b5d86559d188.jpg)
网络篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf6591876715bcb15d58630c9017e35d29475d5dd29d9b291658b82637b8b5d86559d188.jpg)
设计模式
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf65918775678e26b72e82bec986bd10b2ceb97dd29d9b291658b82637b8b5d86559d188.jpg)
maven 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf659187ca60dbd731742e5b75537cafd77061d0d29d9b291658b82637b8b5d86559d188.jpg)
ElasticSearch 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf6591872b44bbb9d2682927fbc07645226a973bd29d9b291658b82637b8b5d86559d188.jpg)
tomcat 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf659187d419e2c41c788b2386db7a37edad0c4bd29d9b291658b82637b8b5d86559d188.jpg)
Git 篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf659187fecfd53cba68a5da3543c3c5df4336c9d29d9b291658b82637b8b5d86559d188.jpg)
简历篇
![null](https://img.bosszhipin.com/beijin/upload/get/20220222/4558a342cf659187fa623c607a27ae7c17c0986f954e9472d29d9b291658b82637b8b5d86559d188.jpg)
拿到offer后的规划和心态
毕业后,我的第一个5年按照计划进行了,那么拿到阿里offer后,下一个5年也有要清晰的目标。接下来的时间,是形成思维方法论和知识体系的阶段,同时也要培养自己团队协助与管理能力,提升自己的眼界,从而有更长远的发展。
至于心态,脚踏实地,不傲不馁。
总结
最后,希望大家都能够有自己清晰的发展路线,希望大家都能顺利拿下offer,进入理想的公司,共勉!
文章中完整PDF可关注公众号【清朝程序猿】领取
文章为作者独立观点,不代表BOSS直聘立场。未经账号授权,禁止随意转载。