写在片头:声明,勿杠
首先简单说一下,这三次面试阿里并不是一次性去面的,实际上第一次面试时候还在大四,找的实习岗,不太清楚是什么部门,别问我为什么还记得面试题,有记录和复盘的习惯,再问就是杠。
个人背景不详细多说,学历双非本科,不是应届生,工作年限不长,技术不是大牛,但也非小白,面经分享是想给正面试的同行一些建议和鼓励,希望能够多多支持。
注意:下文内容中会提到一些简历模板、学习笔记、学习脑图、Java电子书籍和视频等,需要的点击传送门即可!!
One:三顾茅庐,七面阿里,拿下25K*16offer
——一顾阿里一面被怼(未知部门)
阿里巴巴未知部门一面(问的问题让我感觉是偏金融的部门,面试官很严肃,现在想想都有些后怕)
- 自我介绍
- 开源项目贡献过代码么?(回答没有,很尴尬)
- 之前在部门做什么?简单介绍一下业务吧,内部有哪些系统,作何交互过程说一下
- Dubbo踩过哪些坑?分别是怎么解决的?(我答了异常处理时业务异常捕获的问题,自定义了一个异常拦截器)
- 说下你对线程安全的理解
- 事务有哪些特性?
- 怎么理解原子性?
- 讲一下乐观锁和悲观锁的区别,这两种锁在Java和MySQL分别是怎么实现的?
- HashMap为什么不是线程安全的?怎么让HashMap变得线程安全?两者的区别是什么?
- jdk1.8对ConcurrentHashMap做了哪些优化?为什么这样优化?
- redis主从机制了解么?怎么实现的?
- 有过GC调优的经历么?(有点虚,答得不是很好)
- List,Map,Set三个接口存取元素时,各有什么特点?
- TreeMap和TreeSet在排序时如何比较元素?Collection工具类中的sort()方法如何比较元素?
- Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行 它们有什么区别?
- 线程的sleep()方法和yield()方法有什么区别?
- 当一个线程进入一个对象的synchronized方法A之后 其他线程是否可进入此对象的synchronized方法b?
- 请说出与线程同步以及线程调度相关的方法
- synchroized关键字的用法?
- 启动一个线程是调用run()还是start()方法?
- 有什么想问的么?
——二顾阿里二面惨败(菜鸟网络)
阿里巴巴菜鸟网络一面:
- 先来了个自我介绍
- 然后介绍了自己简历里写到的一个比较熟悉的项目(询问了项目的细节及具体的实现)
- 接着面试官开始针对项目进行提问:(1)高并发的情况下,Kafka消费到第一条记录,在下沉服务处理好,但由于网络抖动没有正确返回给上层,上层服务再次调用服务,怎么样保证只处理一次请求?(我答了分布式锁&