我经常在后台收到小伙伴的私信:
“你真的是二本毕业吗?进腾讯有什么秘诀?”
“我不是985、211,能不能进腾讯?”
“哥,是不是随着竞争越来越激烈,普通学校与BAT彻底无缘?”
对于这类问题、这种迷茫,普通院校毕业的我,可以说是感同深受。曾几何时,我也无数次问别人、问自己这些问题。
大学生活太自由,学校管理松散,很容易放飞自我。在这种情况下,很多同学大二大三才后知后觉,幡然醒悟,想要找份好工作,又觉得自己基础很差,难免担心会不会为时已晚?
如果你的基础比我好,那么恭喜你,你很有希望;如果你的基础比我差,也不要气馁,抬头看路,埋头苦干,起飞只是时间问题。
求其上者得其中,求其中者得其下。
数据结构与算法
操作系统
系统学习的话,还得跟着书走,《深入理解计算机操作系统》这本书很经典,有余力可以过一遍,但不用死磕,学生时代难以形成太深的理解,有个大体印象就好。
数据库与缓存
实习经
关注大厂的实习生招聘计划
参加统一实习生招聘,能内推就内推;能走提前批,就走提前批。如果认识一些师兄,能走组内内推,直接触及到团队,价值当然是最高的!
大厂只认知名企业的实习经历,小公司招人进去基本就是为了找点廉价劳动力,不会花时间培养你。最重要的是,小厂实习经历也不会为你的简历加分,还耽误了准备面试的时间。
不要只投一家公司,也不要只爱一家公司,特别是腾讯这种公司,仰慕者如云,竞争激烈,就算实力深厚,也不免有失手之时。多一家公司,就多一份希望。在拿到Offer之前,千万不能放松。
不是每家大厂,都像腾讯一样,搞实习生巡回招聘会。可以通过内推等渠道,寻找更多的面试机会,我在寻求腾讯实习未果后,就通过完美世界的师兄,内推了完美的实习面试,顺利过关。
年少无知,实习招聘只投了腾讯,我们城市没有面试点,所以坐车去了隔壁城市参加,走完一步流程,就回学校,等待通知。偏偏腾讯面试都是单线联系,只能被动等待邮件。那段时间,忍不住地反复看手机,恨不得把手机看穿,对这只鹅又气又爱。
其实一开始是没抱太大希望,但是出乎意料,初试、复试相继通过,这时候就很难保持平常心,渴望担忧兴奋。。。各种情绪交替出现,导致在HR面时表现得很紧张。因为听说HR面筛人的概率很低,就还是抱有很大希望。
最后等了足足一个月,最终也没等到心心念念的Offer,那天第一次喝了不少酒,也没醉,就是睡不着,有种当初高考失利的不知所措。
在我放弃希望,准备破罐子破摔时,一位师兄在群里发了完美世界实习招聘的消息,我赶紧请师兄帮忙内推。
没多久,面试官约了一次电话面试,聊得还可以,问我能不能去北京面试,我没有犹豫,因为根本没有资本犹豫,那时候一点希望就像一根救命稻草。当然也不敢提报销,为了省钱,买的硬座,一坐就是26h,一路下来整个人都快变砖了。
完美还是很人性化,考虑到我跨省而来,四轮面试集中在一天进行。
靠着前期积累,外加鹅厂一战积累的经验,从技术表现讲,应该达到了招聘要求,加上面试官也看到了我的诚意,也就没为难我的学历,要知道前些年完美世界都是坚持只招清华校友,当时放宽了标准,但一般也是北邮这种学校居多,所以我实习期间干得尤其卖命,多做贡献,不光是珍惜来之不易的机会,也是尽力回报知遇之恩。
进大厂不易,所以要用尽全力。总结的注意事项不算全面,但也算是我踩过的雷,希望帮助更多的小伙伴。不要怕错,充分尝试,多一个机会就多一份希望。
在这里特别感谢收留我的师兄,我当时是第一次跨省出行,特地提前两天到了北京。当时烈日炎炎,拖着行李,一路到了完美大厦,没有师兄收留,我真不知道可以住哪里。这一路上接受了太多善良的人的帮助,现在我有些经验可谈了,也希望自己的积累传递下去,给和我一样渴望前行的同学们一点帮助。
一般来说,项目经验获取的方式包括实验室、实习、开源项目。
实验室看具体情况,好学校的通常值得去,如果是比较差的学校,很多时候就是帮老师打黑工。
我当时有尝试过两个实验室:第一个项目,是一个矿灯管理系统,做了一半,被告知要签署责任条约,果断放弃;第二个是一个VR切西瓜的项目,算是开阔了视野,但对于我本来的方向帮助有限。
实习是获取项目经验的最好方式,千万要注意的是,实习生一开始基本都是做打杂的活儿,不要抱怨,也不要怕吃苦,全力做好手上的任务,在此基础上,主动承担更多事情,多学多干。
我在完美世界实习时候,不光做负责的模块,还主动参与到其他同事的模块中去,这样持续积累,到实习结束时,我已经把自己参加的项目的全链路,搞得明明白白。在后面面试的时候,说得清清楚楚,让面试官看到了我的项目能力。
开源项目也是个出路,强烈建议学习一些明星项目,尤其是Redis、Etcd这种小而美的工程,看它们的源码,搞清楚核心流程,本身也极具亮点。如果实力再强劲些,还可以尝试参与一些开源项目,注意,最好是有一定规模的项目。
怎么办呢?熟能生巧,巧能生妙,当然是练习了!
可以先看一下《程序员面试宝典》,说是面试宝典,但其实笔试内容多于面试,这里推荐原因是因为它对面试的流程、面试准备工作,有一些指导作用,可以作为面试训练的一个起点。
《剑指Offer》也可以看下,里面有50多道面试题,它最大的亮点,在于把一道面试题,层层递进地推导出多种解决方案,这个打法是可以在面试中经常使用的。
接下来就是开始进行面试实战。
记得第一次去面试,家里人都很上心,给我换上了风衣,还是那种长风衣,还强迫我带了一个公文包,穿了双不太合脚的皮鞋,给我说这样穿显得非常有文化。结果可想而知,太扎眼了。
话说回来,经过几家小公司的洗礼,我逐渐找到了面试的状态,但是小公司面试模式太过简单,收益不高,也就点到即止了。
后面选择了广撒网,面大厂。有些大厂如果笔试挂了,也可以去霸面,也算增加一些经历,比如我在面试腾讯之前,就参加了网易、深信服等多家大厂的面试。
值得一提的是,面试过程,本身也是对实力的提升,平常觉得懂了的知识,在面试的高压下,能反映出哪些是理解不够深刻的,哪些是有所误差的,反复复盘、纠错、完善。通过面试经验的积累,整体实力也会突飞猛进。
大厂面试的机会毕竟还是有限,这时候就得考虑模拟面试,可以是自己去搜集面试题,让同学帮忙问答。当然更有效的,是拜托已经工作的师兄师姐来进行,如果认识本身在大厂就是面试官的前辈,那更是事半功倍。
可以看到,面试基本是过五关、斩六将的节奏。下面针对每一关,我进行简单的介绍。
在线投递自己的简历,简历上一定要认真打磨,突出自己的专长和亮点,避免千篇一律地写自己踏实肯干这些套话,要针对具体事项来推销自己,比如对某个语言有深入的研究,看了哪几本特别厉害的书,在哪个大厂实习过,熟悉哪些后台组件。
网申时候,建议走腾讯的内推渠道,简历通过率会有所提高。
面试第一步是要投递简历,腾讯校园招聘筛选简历的是HR部门,业务部门基本不参与,HR一般会评估候选人的学校、经历、技能,是的,此时决定通过与否的,完全取决于你的简历。如果简历不通过,就没有下文了。如果简历通过,至少可以和各路英豪,同台竞技。我当时因为有了完美世界的实习经历,简历很快就通过了。
简历通过后,会收到一封邮件,大概内容就是何时何地参加笔试,笔试以前会借用大学教室,进行现场笔试,不过这两年这个环节基本是在线上进行。
笔试主要倾向于算法考察,基本就是Leetcode上中等难度的题目。
我当时是做了最近3年的真题,笔试还算游刃有余,建议大家多看看历届的笔试真题,针对拿不太准的知识点进行强化复习。
组员面试,这是第一道真正意义上的拦路虎。这一面面试官,一般是组内的骨干员工,职级通常是9级或者10级。
我是去酒店参加的线下面试。签到之后,没等多久,就被叫到名字,组员简单地接待了我,然后让我做了自我介绍,针对简历问一些感兴趣的问题,包括TCP三次握手、MySQL的索引、C++多态、STL中vector的原理等,大概问了30分钟。
正当我擦了擦汗,刚松一口气时,面试官递给我一张草稿纸,咦?还要手撕代码?!
15分钟写完代码之后,面试官会当场进行review,针对有疑惑或者不清晰的点进行追问,此时一定要保持头脑清晰,跟紧思路,进行解答或修正。
复试也是技术面,通常是总监级别大神坐镇,如果能顺利入职,那么就是平常能频繁接触到的级别最高的领导。
我遭遇了压力面,面试官看起来资历很深,不苟言笑,针对问题,不断追问,提高难度,会问到接不住为止(亦或是你全部掌握,但学生时代要达到这个水平,非常困难)。
题目还算常规,基本是通过我的实习经历、和项目经验发散出去的,包括一些C++面向对象、常规数据结构的实现、Redis的网络模型、缓存的一致性问题等。
这一面没有让我手写算法,但是提了一道算法题,讲出思路就算过关。面完当天晚上,就收到了通过通知。
至此,我成了我们学校那一届,唯一还在候选列车上的。
腾讯招人的成本是非常大的,前面那么多流程,都成功突围了。所以,只要别剑走偏锋,通过HR面试是没有问题的。
HR面,问的就是一些基本信息和常规问题。说白了,HR环节,一个是确认意向,一个是考察情商。本着求稳的态度,我们也可以看一些常规问题的分析,准备下职业规划什么的。
也许有同学会说和第二条矛盾了,其实不然,第一优先级始终是技术、第二才是其他因素。只要能展现出自己在具体技术上的深入理解,就会成为面试场上的香饽饽。这里借用字节跳动经常内宣的一句话:因为基数大,你每强一点,就能甩开一大批人。
过得去就行,不要影响毕业。在很多学校,学分和课程更像是种形式,内容跟不上业界发展,思维落后,学校的老师大多脱离实战很久,照本宣科,仿佛就没想过怎样才能培养出优秀人才。所以说,进大厂,靠自己。
好在在我看来,说完全拼体力也不见得,除了肝和卷,决定胜负的一个重要因素,就是方向规划和学习路径,这部分还是很有优化空间的,搜集资料,具象分析,找到适合自己的打法,才是制胜之道。
风雨无阻,砥砺前行,披荆斩棘,终进腾讯。很庆幸,努力之后收获了结果,也感谢一路帮助的人,这里我也整理了一些建议给大家:
1.敢于自不量力。我从来没有因为自己是二本,就定性自己一定不能进大厂,反而定了下要进腾讯的目标。差距只是暂时,专注目标,见贤思齐,你相信自己你可以,才是一切可能的起点。
2.方向正确,在有限的时间,选择行之有效的道路。计算机是一门很依赖自学能力的专业,大家的起步差别并不大,很多同学缺的,其实是正确的指引和规划,抹平信息差,何惧一战?
3.准备充分,按既定规划补齐基础设施。针对要做的事项,坚定去执行,学习能力和纠错能力也是慢慢培养出来的,始终一步一个脚印,去增加自己的底牌,不忘初心,方得始终。
人生本来就是各种经历的总和,每一个阶段都是最美的阶段,无论是在校,还是已入职场,都要不负韶华,砥砺前行。
最后,送大家一句我很喜欢的话:凡心所向,素履以往,生如逆旅,一苇以航。