前言
之前阿里正式批笔试4道编程题只干掉了了2道题,然后就被刷了~~ 刷的题还不够,感觉还是太菜了~~,本来对阿里不抱太大希望,毕竟竞争太大。
后来看到有朋友能内推,抱着试一试的心态投了,然而几天过去毫无反应,20天后突然告诉我进行面试
12.14一面,12.15二三面,之后12.18晚上收到电话,拿到意向书。坐标杭州,岗位Java后端开发
一面
- 同步与异步区别?
- Java的线程池说一下,各个参数的作用,如何进行的?
- Java中wait和sleep有什么区别?多线程条件下如何保证数据安全?
- Java中volatile和synchronized有什么区别?
- 有了解Java的原子类?实现原理是什么?
- spring主要使用了哪些?IOC实现原理是什么?AOP实现原理是什么?
- mybatis有了解吗?它与hibernate有什么区别?项目中,你会选哪个?
- 缓存框架有使用过哪些?memcache和redis有什么区别?项目中,怎么去选择?
- 说说数据库性能优化有哪些方法?
- JVM内存模型是如何?垃圾回收机制有哪些?如何对JVM进行调优?
二面
- Hashmap底层原理,HashMap是如何解决hash冲突的问题?
- 线程池的各个参数,ThreadLocal?怎么优化?知道FastThreadLocal吗?
- volatile 关键字是如何防止指令重排的,synchronized能防止指令重排吗?
- 那进一步说说synchronized的锁消除与锁优化,自旋锁轻量级锁与重量级锁分别都是什么?
- Zookeeper做服务的注册中心,如果服务规模大于1000,会发生羊群效应网络风暴,怎么优化?
- 有了解分布式事务如何实现吗?
- 分布式事务两阶段提交如果第二阶段超时了怎么办?
- tcc的原理能讲一下吗?新出来的Seata 有调研过吗?
- 分别从NIO层面和netty层面讲解一下零拷贝
- 微服务,怎么拆的,为什么要那么拆?
三面
- 介绍你做的项目和其中的难点?
- RPC是什么?有使用过哪些RPC框架?
- 自己实现RPC应该怎么做?
- 对socket熟悉?TCP通讯有几次握手?有使用过哪些socket框架?
- 了解哪些中间件,dubbo,rocketmq,mycat等?
- 说一说rocketmq是如何保证消息写入的高性能,如何保证消息不丢失的?
- 你们用了SpringCloud,能从源码角度讲一讲Eureka的底层架构与设计原理吗?
- 讲讲Spring的设计思想
HR面
- 遇到最困的问题是什么,怎么解决的
- 如何评价自己
- 你认为自己有那些方面不足
- 你的优点
- 平常如何学习的
- 多久能入职
总结
3次面试,每场都超过了一个小时,第三面面完后紧接着就是HR面
阿里的面试确实很专业,而且面试官最后给我了一点建议,就是研究技术的时候一定要结合技术的背景。
面试官都有一个特点,会抓住一个值得深入的点或者你没说清楚的点深入下去直到你把这个点讲清楚,不然面试官会觉得你并没有真正理解。
最后
分享我在这次面试前所做的准备(刷题复习资料以及一些大佬们的学习笔记和学习路线),都已经整理成了电子文档,需要的朋友可以
- 面试刷题部分(各位大佬的大厂面试总结以及他们记录下来的真题解析:Spring+逻辑算法+MySQL+分布式+Redis+并发编程+JVM+RabbitMQ等面试答案、学习文档笔记、思维导图(xmind))
- 学习书籍(各大技术点的实战文档,书中基本上都结合了实战案例深入浅出,更容易理解吸收)
- 进阶技术视频讲解(比较深入的技术点光看书有时候还是不好理解,相信我,配合视频学一定会让你发现新天地!)
为了不影响朋友们的阅读,整理的资料就不一一展示了,需要这些完整资料的朋友可以点击下方超链接即可免费获取!
网友评论