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