两年经验双非,5轮面试拿下阿里Java岗Offer(4月面经原题复盘)
双非本科,软件工程,2年工作经验。有幸得到内推机会,参加了阿里Java岗的面试。
为此我做了非常多的准备,最终顺利拿到offer,特分享一下这次的5轮技术面真题,以及一份阿里P7师兄整理的4月份各部门面试题,希望能够给一些正在面试阿里或计划面试大厂的朋友提供帮助。
![](https://uploadfiles.nowcoder.com/compress/mw1000/files/20220123/418612554_1642946977212/26809252-7a3b7a318cd90aab.png)
总共有五面,主要涉及的知识点复盘如下:(点击此处获取文档完整版)
Java部分
- Jdk1.7与jdk1.8 在g1垃圾回收器上有什么区别?
- 常见的加载器有哪些,如何自定义一个加载器?
- 生产上有没有遇到JVM参数调优的问题?
- 知道什么是内存泄露吗,如何手动去造成内存泄露?
- 线程池常见的一些参数,知道Future接口吗?
数据库部分
- 常见的索引类型有哪些?
- 为什么主键索引使用B+树而不去使用B树?
- 说一说联合索引最左原则的原理,并且什么情况下索引是生效的?为什么?
- 常见的隔离级别有哪些?有什么区别?
- 知道回表查询吗?聚集索引?
- 项目中有没有使用到分表分库?说一说怎么分的?
分布式/中间件部分
- Redis是单线程的吗?
- 为什么Redis的性能比较高?
- 使用消息队列有没有遇到消息丢失的情况,怎么去设计补偿行为?
- 说一说项目中为什么使用Kafka而不去使用其它消息队列?
- 说一说Zookeeper中的Zab协议
- 分布式锁的实现方案有哪些?各有哪些优势与缺点?
- 分布式限流Sentinel中线程模式与QPS模式的区别
微服务部分
- 有没有遇到dubbo连接数爆满的问题
- dubbo如何实现使用zookeeper找到对应的服务
- dubbo使用zookeeper作为分布式治理中心有什么弊端
- 说说你认为dubbo与SpringCloud的差异
总的来说,阿里的面试要做好充分的准备,面试官可能会让你介绍一下这个项目包括项目背景、项目架构、QPS等等。机会永远是留给有准备的人。
![](https://uploadfiles.nowcoder.com/files/20220123/418612554_1642946975290/26809252-441fd0bbc9db4d84.png)
Java基础
![](https://uploadfiles.nowcoder.com/files/20220123/418612554_1642946975274/26809252-f8f508585fc78ccc.png)
Java 集合框架
![](https://uploadfiles.nowcoder.com/files/20220123/418612554_1642946975290/26809252-b06f54e5c952d1b5.png)
jvm
![](https://uploadfiles.nowcoder.com/files/20220123/418612554_1642946976134/26809252-159f3916d9ea52be.png)
多线程
![](https://uploadfiles.nowcoder.com/files/20220123/418612554_1642946975410/26809252-04f60581bce1a286.png)
网络
![](https://uploadfiles.nowcoder.com/files/20220123/418612554_1642946975925/26809252-21adf85b82fa7f69.png)
算法和数据结构
![](https://uploadfiles.nowcoder.com/files/20220123/418612554_1642946975275/26809252-01200636b2efa4d1.png)
Spring
![](https://uploadfiles.nowcoder.com/files/20220123/418612554_1642946976266/26809252-db5cbe81dd334f9f.png)
Netty
![](https://uploadfiles.nowcoder.com/files/20220123/418612554_1642946975476/26809252-4df6ad1ba1add28c.png)
微服务/分布式
![](https://uploadfiles.nowcoder.com/files/20220123/418612554_1642946976654/26809252-ae85596156ae82e4.png)
消息队列
![](https://uploadfiles.nowcoder.com/files/20220123/418612554_1642946975347/26809252-af6bef5307213a9d.png)
分布式 ID,其他(网关、限流...)
![](https://uploadfiles.nowcoder.com/files/20220123/418612554_1642946975360/26809252-5f9e11e066a6ba19.png)
MySQL
![](https://uploadfiles.nowcoder.com/files/20220123/418612554_1642946975492/26809252-493bbe3a1442856a.png)
Redis
![](https://uploadfiles.nowcoder.com/files/20220123/418612554_1642946975312/26809252-8ac60ea71c142146.png)
经验总结(点击此处获取文档完整版)
这是我在工作、面试中学习并总结到的一些知识点,都是一些比较典型的、常被问到的问题。如果你平时没有注意去总结的话,那么当你面试被问到的时候可能会是一脸懵圈,就算这个问题你知道怎么回事,但是你平时没有认真总结,你也可能会出现逻辑混乱的情况,从而错失工作机会。
有些知识点不经常使用就会忘记,但是面试还会问,对此,我也是深受其害,所以我决定将这些遇见的问题整理下来,分享出去,帮助更多的人,我们共同进步。所谓“温故而知新”,没事的时候多翻看一下这些知识