高亮!本文是公众号读者Crawley投稿的面试经历
感谢Crawley同学分享自己的面试经历供广大同学参考,在这里也恭喜Crawley同学,成功拿下阿里offer。
同时也欢迎广大同学积极投稿,分享自己的面试经历、技术成长的感悟。
目录
一、初出茅庐,初临帝都
二、闭关深造,再临帝都
三、厚积薄发,初试牛刀
四、逆流而上,大肆收割
五、回眸再看,全程复盘
写在前面
去阿里是我一直以来的梦想,今朝得到实现,这一路来要感谢太多人,也感谢这三年来一直努力的自己,这里记录一些心得,希望能够帮助到大家。
一、初出茅庐,初临帝都
2015年10月8日,一个人拖着行李踏上了去北京找实习的路,因为基础太差,屡战屡败。
最后好不容易入职了一家算上我共2人的外包公司,做了两个月,觉得太没发展,毅然离职回校;
二、闭关深造,再临帝都
从北京回来深受打击,认识到自己是多么的差,如果在这么下去毕业就是失业,下定决心闭关学习,不成功不出关。
先去淘宝上花了9.9买了一套视频,每天除了下午去健身一个小时,其他时间都在啃视频,花了2个多月做出了一个博客网站,并成功发布到网上,当时喜悦的心情现在都铭刻在心
之后就是开始每天把学习的笔记发布到博客网站上,没过多久突然有个人留言说:他们最近正好在招实习生,觉得我还不错,如果感兴趣可以加他聊聊。
我想聊聊也没什么损失,最后聊得还不错,是一家上市央企,想让我尽快去北京实习,我觉得也还可以,收拾了下再次踏上了去帝都的高铁
去的路上心里只有一句话:天道酬勤,必有回响,真的是只要付出努力,一定会有回报收获
三、厚积薄发,初试牛刀
在这家央企实习了差不多半年的时间,毕业直接转正,过了差不多一年的时间,原先的高级开发和技术经理陆续都离职了。
然后我因为平时表现挺积极,所以领导逐渐把团队交接给我带领;
这样带了半年团队,觉得技术上出现了瓶颈,团队里没有人能指点我怎么继续走下去,于是产生了跳槽去互联网的想法,并且一发不可熄灭。
但是因为是在央企,技术跟互联网还是有很大区别,所以花了几个月时间收集了网上所有能搜到的面试题,上千道题,反复的刷,反复的理解。
有些题实在不理解,就疯狂的找书和视频看,也正是这段时间的积累,把我的基础和技术宽度打得无比扎实。
因为是传统企业出身,只拿到了3家互联网公司的面试邀请,都成功的拿下了offer,其中有一家是TOP5,经过对比offer,最后入职了这家。
四、逆流而上,大肆收割
入职这家公司后,发现身边到处都是大神,太多的牛人,太多要学习的东西,在其中就像一块海绵,疯狂的吸收所见识到的所有技术、流程、做事方法等。
然后这里有一个很重要的节点,2018年11月公司组织架构调整,换了新总监,新领导带来了一批原先人马,导致发展受到局限。
于是我又产生了离职的想法,并且开始默默准备。
2019年过完年回来后,开始投简历。因为背景还不错,所以接到了很多的邀请,但是我只面了D轮的4家独角兽和5家大厂。
除了头条二面挂在了算法上,基本都到了offer阶段,下面简单介绍下情况:
- 独角兽一:本来2面就能拿到offer,但是因为我要的薪水太高,所以多加了轮交叉面和vp面,最后成功拿下offer,给到了31w
- 独角兽二:因为推得的是技术专家岗位,所以二面是两个技术专家面我,真是从头轰炸到尾,所有的技术点都问了遍,也发现了自己很多问题,最后给到了高工职位,给到了35w + 1w的期权(价值几十万)
- 独角兽三:面了3面,问的问题都在掌控之中,给到了43w~54w
- 独角兽四:面了3面,到hr面,因为薪资没谈拢,聊崩了
- 百度:面了2面,因为聊得过程觉得面得这个部门的业务不是我想做的,所以后续的面试拒绝了
- 小米:面了4面,最后也因为薪资没谈拢,聊崩了
- 58:面了4面,最后也因为薪资没谈拢,聊崩了
- 头条:之前就听说宇宙条很注重很注重算法考察,果然二面聊了40分钟算法,算法确实是我相对的薄弱项,不出意料的挂了
- 蚂蚁:聊了4面,觉得部门业务和薪水都很给力,加上是我一直想去的阿里,所以选择了蚂蚁
五、回眸再看,全程复盘
以下是这次面试经历的一些个人总结体会,有些东西是实打实的面试过程中亲身的感悟,在此分享出来,希望能帮到各位:
1、千万不要裸面
不做任何随便写份简历就出去面试,挂的概率高达90%以上,除非你特别牛。
2、简历书写,不要觉得简历描述清楚就行了
同样的一个人,普通的简历和优化后的简历,面试官对你的定位和问的问题也是不一样的。
这个是我亲身体验,我之前拿着一份普通简历出去面试,面试官就只能把你当成一个普通的3年经验的来面,问一些特别基础的问题。就算你知道很多东西,但是面试官根本不问。
而优化后的简历,面试官一看这简历写的这么牛逼,先随便问几个问题,你都能回答不错。
然后,就直接开始问底层源码、架构设计等比较open的问题,这样对你的定位和档次一下就上去了。
3、精心准备2个你做过的项目
对于你写在简历上的项目,一定要反复的梳理。对项目的业务边界、技术架构必须了然于胸,而且用到的技术都保证不能被问倒
4、Java基础
基础的重要性我就不多说了,但是我想说的是,像集合、线程、volatile、锁、网络IO等这些,不要停留到网上博客的那种表面程度。
必须要深入到源码级别,这样才能突出,跟其他候选人拉开差距。
5、数据库的各种机制
ACID、事物隔离级别以及原理、索引原理、常见分库分表姿势等
6、JVM里的各种东西
分代、回收算法、垃圾回收器搭配和对比优劣、线上问题排查、类加载等等。
这些东西,最低要求都要流畅的说出来,但是如果要和其他候选人拉开差距,还要突出亮点。
比如,我之前做过垃圾回收器的调优,从CMS换到G1。
我把CMS的分代、垃圾回收算法过程这些基本东西说完之后,然后说出CMS有两大缺点:一个是会产生内存碎片,另一个是会产生浮动垃圾。
然后就开始说为什么会产生这两大缺点,因为这两大缺点导致RT升高,换成G1之后有啥优点。
接着再把那些原理喷一遍,调优之后性能上有多少多少的提升,这在面试官心中档次一下就上来了,跟其他候选人拉开了差距。
7、框架
你使用过的框架都要做到了然于胸吧,Spring最基本的IOC、AOP、Spring事务一定得看过吧。
Mybatis、Tomcat常用的姿势要知道,Redis常见的部署方案、集群原理、持久化机制、5种数据类型对应的底层数据结构。
Reactor模型运转机制、常见的缓存问题解决方案。
Dubbo、ZooKeeper的使用姿势和基本原理要知道吧。如果你研究过这种RPC的源码,无论是Dubbo还是SpringCloud全家桶,那就更好了,直接说出来,碾压面试官,让面试官听你聊。
8、分布式相关的问题
如果研究过大数据相关的框架那就更好了,绝对的加分项。
比如,我深入研究过Kafka的底层机制,面试蚂蚁的时候,直接就问我Kafka的底层:
- 如果让我来设计如何保证消息零丢失,直接从三个可能丢消息的阶段说出如何设计来保证
还有分布式锁常见的方案要知道、分布式事物常用的方案都要研究过吧。
比如:面试蚂蚁的时候,就问我TCC的机制,直接说出使用姿势,使用场景,使用TCC的优缺点;
9、算法
这个我也不是很精通,只熟悉常见的查找、排序、链表、队列、堆、二叉树等这些简单的。
那些动态规划、01背包问题之类的我也就知道基本概念,头条二面就挂在这了。
10、相信自己
最后还有一点,就是面试过程中一定一定要有自信,给面试官一种特别有底气,做什么事都没问题的感觉。
记得当时面58的时候,那个vp说我身上有一种特种兵的气质,他特别喜欢,哈哈哈,我也不知道那是啥气质。
以上就是这一路面试走来的一些经历感悟总结,希望对大家有一些作用!
一大波微服务、分布式、高并发、高可用的原创系列文章正在路上,
欢迎关注公众号:石杉的架构笔记
周一至周五早八点半!精品技术文章准时送上!!!
十余年BAT架构经验倾囊相授