xuelybdzheloffer.md 11.1 KB
Newer Older
沉默王二's avatar
沉默王二 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279
---
title: 非科班读者,用一年时间社招拿下阿里 Offer✌️
shortTitle: 非科班读者社招上岸阿里
description: 他本人学历一般,三非背景(非 985 / 非 211 / 非理工科) ,但凭借自己的努力,历经 6 轮面试,最终还是拿到了阿里的 Offer
author: 茶杯
category:
  - 求职面试
tag:
  - 面试经验
  - 面经
  - 求职
  - offer
  - 春招
  - 秋招
  - 社招
  - 校招
head:
  - - meta
    - name: description
      content: 他本人学历一般,三非背景(非 985 / 非 211 / 非理工科) ,但凭借自己的努力,历经 6 轮面试,最终还是拿到了阿里的 Offer
  - - meta
    - name: keywords
      content: 面试经验,面经,求职,offer,春招,秋招,社招,校招
---

大家好,我是二哥呀!

去年的这个时候,有个朋友邀请我去阿里,然后,,,,,,我不假思索地就拒绝了。

![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-xuelybdzheloffer-2b16e830-bb77-4299-9ecf-f80b34147888.jpg)

因为说实话,阿里的修福报文化不太适合我——不小心又装逼了。其实主要是我在洛阳已经扎根生芽了,深深地爱上了脚下的这篇土地——不小心又文艺了。

如果是我刚毕业那会,我敢肯定,肯定会去试一试的,哪怕最后没面上,因为去阿里虽然不是我的梦想,但如果能拿高薪,能提升技术,还是很值得去尝试一下的。

下面分享一个读者(茶杯)的故事,他本人学历一般,三非背景(非 985 / 非 211 / 非理工科) ,但凭借自己的努力,历经 6 轮面试,最终还是拿到了阿里的 Offer。去阿里也一直是他的梦想——我想应该也是大多数学弟学妹们的梦想,所以我把他的经验分享出来,给大家一些参考。

* * *

为了能进阿里,我给自己制定了非常详细的学习计划:Java Core、JVM、网络、Spring 源码、MySQL、Redis、MQ(消息队列)、Netty,整整准备了 1 年时间。

在面了几家还算知名的大厂后,我总结了一波面试套路,就开始了阿里的面试之旅。最终,历经 6 轮面试,顺利拿到了阿里的 offer,也算是圆梦了。

### 第一轮技术面:阿里 P6 面试官

> 1、看你简历中提到处理过多次 JVM 故障,可以讲讲你遇到过哪些 OOM 的案例么?

a、我分别把之前工作中遇到的堆空间、元空间、堆外内存 OOM 场景都讲了一遍

b、按照如何分析、如何排查、如何解决、事后如何防范这个思路进行

> 2、看你简历写做了线程池调优,能讲下线程池的原理以及做了哪些优化吗?

a、业务线程池相互隔离

b、根据 CPU 核数、线程池任务的 IO 耗时/计算耗时,设置合理的核心线程数,提升性能

c、动态修改线程池参数,方便维护

d、重写拒绝策略,保证任务不丢

e、聊了一下线程池源码里的一些细节

> 3、能讲下你对 MySQL MVCC(多版本并发控制)的理解吗?

我分别讲了一下 RR(REPEATABLE READ)和 RC(READ COMMITTED)隔离级别的实现原理有哪些不同

> 4、MySQL 索引是怎么实现的?

a、分别从性能和实现上讲了数组、链表、Hash、二叉树、BTree 为什么不合适

b、详细讲了 B+ Tree 的实现,以及普通索引是如何查找数据的

c、中间提到了节点大小、IO、回表、覆盖索引等概念

> 5、讲讲 Redis 是怎么用的?

a、讲了分布式锁原理

b、讲了 Redis String 的底层实现

c、讲了 Redis ZSet 的实现,详细讲了跳表结合 Hash 是如何提升效率的

> 6、RecketMQ 的消息堆积如何解决?

a、Producer 端:上游发消息速度过快,可以减少消息的发送频率

b、Consumer 端:下游消费不过来,可以扩容来提高消费速度

c、Broker 端:内存是否够大?如果 Page Cache 够大的话,可以提高 Consumer 拉消息的性能

**一面小结**

当我答完第一个 JVM 问题时,面试官就说这轮我过了,夸我这块研究很深入。

所以,我觉得面试技巧很重要。**面试前我就考虑到了如何展现自己的优势,在自我介绍时就会把自己擅长的部分说出来**

另外,一般一面考察的点有:JVM、JDK 并发包/集合类、Redis、MySQL、MQ、RPC。

### 第二轮技术面:阿里 P7 面试官

阿里二面问的技术问题并不是很多,更多的是问业务场景和解决方案。

后来私底下问了一下面试官,他说因为一面已经全方面考察技术了,所以认为我技术方面是 OK 的,就不会作为主要的考察方向。

> 1、讲下项目里的限流策略怎么做的?

a、用 Redis 做的分布式限流

b、滑动窗口/漏斗/令牌桶,三种限流算法对比

c、解释了下为什么没有用其他限流组件

> 2、讲下简历中的秒杀项目怎么做的?

a、CDN:静态数据缓存

b、缓存:上层抗住流量

c、限流:防止应用挂掉

d、答题验证码:削峰

e、MQ:异步/削峰/解耦

f、风控、接口幂等:防刷

g、分库分表:减轻 DB 压力

> 3、如果 Redis 挂了一台怎么办?

> 4、如果 RocketMQ 挂了怎么办?

> 5、RocketMQ 重复消费了怎么办?

> 6、RocketMQ 为什么会重复消费?讲下 RocketMQ 造成重复消费的底层原理?

> 7、MQ 会丢消息吗?如何保证不丢?

> 8、问了很多业务方面的细节

> 9、**在阿里伯乐系统,手写算法题**

> 10、问了下面试官具体的工作内容和团队氛围

**二面小结**

项目以及业务都会深入考察,这块一定要好好准备,一面过的人很多,二面挂的人很多。

二面一般都是入职后带你的师兄,如果你业务不精通技术好也不一定能过,因为终究还是要干活的。

### 第三轮主管面:阿里 P8 面试官

主管面考察的范围就更广了:

1、讲下在团队里的角色

2、讲下之前的经历

3、讲下近期做的比较核心的工作(二面项目有关的东西又讲了一遍)

4、讲下有哪些做得好和做得不好的地方?

5、如果流量放大 10 倍,100 倍怎么办?

6、分库分表怎么做的,讲下数据迁移方案

7、讲一下你做的 JVM 调优

8、聊一下 Redis 性能问题

9、面试官讲了一下团队的业务情况,以及进去后可能要做的具体工作

**三面小结**

还是以项目为主,但问题会更深入。上面大部分问题,我都花了很多心思总结,汇总到了自己的笔记里,而且面试前反复看过很多次,从而保证我在面试过程中能够讲清楚细节。

### 第四轮交叉面:阿里 P8 面试官

主管级别的交叉面,也是一个 P8 面试官。

我也不知道为什么会有这一轮,问的问题跟 2 面、3 面差不多,这里就不展开了。

### 第五轮负责人面:阿里 P9 面试官

1、介绍工作经历

2、介绍项目以及项目里的角色

3、讲下项目中遇到的困难是如何解决的

4、一道实际需求的设计题:高并发场景,当用户下单(20 元)时,会提示用户花 10 元买一个会员,同时送 4 张 6 元的优惠券,本次就可以使用。该接口如何实现?需要考虑各方失败的情况

最后一道设计题,我和面试官讨论了将近 30 分钟,主要考查高并发场景下的设计能力。

面试官会关注:设计方案的合理性以及完整性,如果某个环节出问题了怎么保证高可用?会不会有丢数据的风险?数据一致性怎么保障?如果流量很大性能如何保证?

**五面小结**

主要考察设计能力以及对项目的整体把握,不但宏观层面要做好架构设计,细节上的实现也会死抠到底。

不论是技术的深度和广度,甚至临场分析问题、解决问题的能力都有考察,这些都需要平时的技术积累。

### 第六轮 HR 面

1、介绍履历背景

2、介绍工作内容以及承担的角色

3、谈谈项目里的高并发场景怎么解决的

4、推进项目的过程中遇到了问题怎么办

5、同事怎么评价你

**六面小结**

主要考察的是思考能力和思维方式、沟通、协作、配合团队、做事结果导向等能力。另外,阿里 HR 也是会问技术问题的。

个人感想

1、基础一定要扎实

基础不牢地动山摇,这一年的准备,基础知识通过查漏补缺提升了很多。但也发现了诸多不足,未来还需继续积累。

2、养成良好的习惯,坚持学习

开发这行内卷太严重了,年轻的时候一定要养成学习的习惯。如果在小公司做的是没挑战的事情,还忙得没时间学习,建议趁早换一份能带来成长的工作。

3、给自己定一个目标

做事情一定要定一个目标,只要你信念够强,它就会一直指引着你前进。

不然经历过一天疲惫的工作后,下班再继续学习这件事是坚持不下来的。

4、给自己制定详细的学习计划

两个月啃下一个主流技术栈,1 年下来差不多也能啃完 6 块硬骨头,这将是你未来面试的兵器库,十八般武艺不说样样精通,随便挑几个跟面试官捞一个小时应该不在话下!

5、梦想并非遥不可及

我一直把进阿里当做自己的梦想,这五年来一步一个脚印,中间不曾有过任何一次放弃。

刚毕业那会,被无数家公司拒绝过,但这并没有劝退我,感谢当时鼓励我的同学。

工作几年后,也被资深同事嘲讽我不知天高地厚,但这并没有劝退我,感谢当时劝我用最高标准要求自己、并相信自己的网友。

在不断提升自己技术深度的过程中,各种深不可测的源码、框架让我抓狂,但这也没有劝退我,感谢每个指点过我的技术大佬。

最后,感谢一路走来所有帮助过我的朋友们!祝大家前程似锦!

* * *

二哥多 BB 几句。

就像读者茶杯说的那样,任何时候都不能放弃自己的梦想,放弃心中的那份坚持,只有把一件事,一件小事做到极致,对于我们大多数普通的人来说,才是突围的最佳方式。

就像朋友之所以肯邀请我去阿里,且不说面试的结果如何,能获得这样一个邀请,肯定是因为某些方面我的努力得到了认可。

之前给大家分享的另外一个故事,关于我大学同学考研的,应该老读者还记得,他最近在准备面试,去北京,一边工作一边读研。

![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-xuelybdzheloffer-ed34aa11-4023-4846-b38f-96a8a80d690a.jpg)

记住一句很“粗暴”的话,伟大的牛逼之前总是傻逼式的坚持,是鸡汤也好,是鼓励也好,我们任何人都应该像读者茶杯说的那样:

*   夯实基础
*   坚持学习
*   确定目标
*   制定计划

梦想终究会照进现实,加油~

* * *


>转载链接:[https://mp.weixin.qq.com/s/vnMZY9Gsy3o1FwMi4f1GlA](https://mp.weixin.qq.com/s/vnMZY9Gsy3o1FwMi4f1GlA),出处:大厂面试指南,整理:沉默王二


![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png)