防喷声明:以下观点仅熊仔一家之言,仅代表个人,全部原创,如不赞同,以您所述为准
每个人都有一个大厂梦,互联网领域又是普通家庭最好的翻身领域,适合像我这样没有背景没办法托关系、家里又没钱的小 p 民。
写这篇文章的目的呢,是现在是 7 月份了,很多公司春招的实习生已经陆陆续续进厂干活了,我正好在 16 年参与了腾讯的春招,后续拿到了 sp,在这里我分享腾讯校招的整个过程以及实习中如何留用,如果有帮助别忘了给熊仔点个在看。
是不是校招进不了大厂,以后也没机会了?
首先要知道校招进不了大厂,并不意味着以后再也没办法进大厂了,只是说校招有最容易进大厂的四次机会(春招、秋招以及两次补录),未来社招会更难,要积累和准备更多的东西。
刚毕业进了中厂小厂也不用太过担心,未来还是有机会进大厂的,不过现在很多中厂小厂的待遇并不比大厂差。
在大厂也不一定没有缺点,有时候人放不开手脚,因为很多现成的库、组件可以用,考虑得很全面;对于个人来说负责的东西很少,如果不主动承担,有风险变成一颗螺丝钉。
但好处是培训丰富、内部知识库完善,周围大神多,方便学习,可以培养规范的编码习惯,大局思维,未来如果 jump 小厂可能会一下子猛涨一波,也可能突然身居要职。有一定的光环。
大厂也是由无数的小 team 组成的,不一定技术可以共享和开放,业务不同的部门同样的东西要自己实现,也许也和小厂无什么区别。
在小厂虽然少不了身兼多职,也算是有一番挑战,成长会很快,未来努力学习,还是可以 jump 到大厂中去。风险是万一公司倒闭,发不出工资。或者学习的东西太难拿的上台面,面试困难,这种就只能靠私下学习自己逛社区了。
一份稳定长期的工作还是不稳定压力大的工作,选择哪个没有对错,也各有好坏,还是看个人怎么规划。
读书还是工作?
一旦决定了毕业就找工作就不要再有考研或者深造的想法了,最好是能从大一就开始破斧沉舟开始准备,如果能从大学就进一家好公司,积累三年的工作经验比考研要强很多。
但不是说读书误事,很多人看不到的是学历越高在程序员领域越容易走得更远,特别是越来越卷的现状,如果未来想当 leader、总监,很有可能同等情况下会卡学历。
像我这样主要家里太穷了,穷人的孩子早当家,只能早点出来打工赚钱,还有一点就是担心我坚持不了那么远,到当总监的地步(虽然现在也没谱)。
那个时候面试比现在容易,现在有很多实习生堪比一两年工作经验的正式员工,但如果狠不下心,还可以考研多几年缓冲,做研究生再多积累一些经验。
大厂校招看重什么?
有读者问我:“大厂校招,看重数据结构算法还是项目经历啊,刚开始刷 leetcode 感觉很难”。
说真的,面试还是看缘分,可能你是大神,但不会表达,畏畏缩缩,大概率会挂掉;如果你是菜鸟,但是态度良好,思维敏捷也有可能会过,特别是大厂最看缘分,因为这里的培训体系完善,有自信能培养起来自己的兵。
如果有什么坑,在实习的过程中,该发现也发现了,方便降低试错成本。
校招面试最看重潜力,你有没有博客,爱不爱学习,平时是怎么和同学交流沟通的,抗压能力怎么样(能不能加班)这叫做软实力。
基本的技术素养有没有,思维是不是敏捷,代码风格怎么样,这就要通过现场写简单的算法,回答奇葩的智力问题,以及几个回合的八股文拉扯来测试。
以前如果有做过项目就更好了,一个校招生指望他做过什么商业项目,只要项目结构合理,实用,项目功能可以分析清楚,一些代码安全、内存调优、cpu 调优方便如果有积累是加分项。
本来有这些就够了,问题是现在好多网课、培训机构如雨后春笋一样,培养出来的人,各种知识都有接触。一个字”卷“,要是他还参加过实验室,有一个 team 支撑他学习,这种情况肯定会优先考虑,省去了不少培训的时间
如果你还年轻,早点混入像我这样工作好几年老家伙的圈子取经,找对地方、摸清方向;如果时间比较急迫最好是把书上的项目快速过一遍,边抄边跑梳理结构,把知识点都搞懂。自己要有点紧迫感啊喂!
关于算法,leetcode 中的 hot100 无论是校招还是社招,是永远的神!如果能通读剑指 Offer,除了算法还能收获很多找工作的心得以及要注意的点。从树的题目开始建立算法思维,从简单到困难,主要是简单和中等题目,最后按类型来刷题。
实际上题目也不是很多,并且社招面试也够用了,加油年轻人。
腾讯校招是怎样的过程?
说说我当时的经历给大家做个借鉴
最早的一轮其实是简历的筛选,理论上一份整洁合格的简历,我认为 2 页最合适,一页技术栈和基本经历给 hr 看、一页项目给面试官看,腾讯的简历直接在平台上写,机器筛选,附件 pdf,照片找最美证件照弄个好看点的,至少表明态度(其实好看的真的有加成)
校招 tx 的水很深,笔试(机试)前出很多套题目,会让上一届的毕业生来做笔试题确定题目难度,我当时就参与过一次。
考算法较多,笔试过了以后,面试就难说了,因为简历投递完以后,如果选择了某个 BG 的话会进入这个 BG 的池子里,如果没选直接进入公共池子,然后各个组就会来挑选简历,这个很随机,每个组的面试方法不一样。所以在投递简历的时候最好向你的学长咨询好哪个部门不错长期发展好(但相对面试难)或者容易过(有可能发展平缓)。
一面是组长面或者组里的技术大牛面,二面是总监面,三面 hr,只有三面,还是比较简单的
这是 16 年的数据了,现在我问了学弟学妹,会在第一轮加入 mentor 面,那就是四轮
还有五轮的,mentor、其他组 leader 交叉面、技术面两轮、hr 面,基本顺序会有相邻调整,都差不多,轮次多的一般是明星产品的部门。
我以三轮面试为准,基本上都是围绕此展开。
一面的时候,看组长对你简历上什么东西感兴趣,很大可能会问项目,然后还会针对你写的技能点来问,最后会问他们组涉及的技术栈,如果运气好,特别匹配的或者有特别突出的技能点被看上的,一面也就过了。
一面大概率手写代码,考察代码风格和思维能力。
有时候一面面试官会把一些他们日常工作遇到的难题,抛出来。这个时候的这种问题作为一个实习生几乎是不可能想出正确解决方案的,只要思维有亮点能让面试官认可就好了。
二面,总监,很多总监其实脱离了技术细节已经很久了,但是对技术架构大局观掌握的很好,他们对你的架构思维,大局观,以及设计能力比较感兴趣。团队沟通协作的能力和对陌生问题的思考沟通能力。遇到不会的,你得主动问呀!搞清楚问题的意图。
如果一面的面试官有发言权,对你特别满意,总监那里基本就是稳了,不会特别卡你,所以一面最最重要。
PS: 事实是考设计模式问单例模式,很多人很饱汉饿汉都不会。
三面,hr 面,这个最随机了,hr 感兴趣你是不是有其他公司的 offer 特别害怕你如果过了,又不来,白白浪费指标。所以全部都是围绕这个核心的,如果你的女朋友男朋友不是在这个城市工作的,你就要小心了,hr 也担心你异地恋受不了,同时担心你的父母家庭想让你留在家工作的情绪。
基本各个公司 hr 面都是如此考量的,就是在确认你的意向,稍觉不对还是有机率挂人的!
还有如果你是一个内向或者孤僻,难以团队合作或者不会表达自己的朋友,hr 也会考虑你会不会对团队工作有影响。
实习中如何留用?
说到实习感觉都理我很遥远了,都是 5 年前的事了。
当一个校招生入职最大的感受就是紧张害怕压力大,一下子要在短短 1-2 个月的时间内做出效果、摆明态度、呈现出相对应的能力还是不容易的。
有的小组很良心,有多少 hc 招多少人;有的小组却喜欢有 1 个 hc 招 2 个人 pk,留一个比较好的。如果是第一种恭喜你,只要你表现的和面试时表现的一致,也没有遇到突然的岗位调动,就不会有太大的问题。
假如你是第二种,唯一的办法就是用力卷+多沟通,祈祷遇到一个好导师。我也做过毕业生导师,在鹅厂导师是有专门的培训课程的,不过不强制学习,我当时考了导师的证书,要教提问、要追进度还是很不容易的,扯远了。牢记并实践以下几点,留用无忧。
第一、刀不磨不利
一个学生刚入职场,如果以前没在网上接过项目,那势必对各种环境、开发规范、流程都比较生疏,同时又面对一无所知的业务逻辑,甚至连 git 都不熟。
很多基本的东西都是默认你会的,你不会,只能自己下来补,我当时是本科毕业生,最大的感触就是研究生真的比我思维敏捷,接受能力快得多,种种不利因素,决定了我只能花大功夫来补课。
每天加班到 11 点常有的事,周末依然到公司上班蹭网,虽然在导师眼里期限已经很宽松了,但依然觉得困难紧张,好在年轻人最不缺的就是精力和时间,主动去补去追上去。
第二、切忌埋头苦干
可能一般人对程序员的印象都是安静的写代码,写代码固然要专注连续的时间,但怎么保证你做的事就是与预期一致的呢?
很多实习生明明很努力,最后还是挂了考核,到底是哪里出现了问题?
实习生应该有培养计划,如果导师没关注,就应该主动提,每个月应该达到什么程度,这个岗位对我的期待是什么,本周应该做什么,上周做的事情合理吗,这些问题都要关注,并且定时与导师或者 leader 沟通。具体包括
了解做这些事是为了什么,达到什么目的,考虑 OKR
要和 mentor 一起制定目标,达成共识
SMART 原则
- 具体,对细节进行描述
- 可衡量,可以通过定性或者定量的方式对目标进行衡量
- 可达到,达成的目标条件、采取的动作,密切相关
- 相关
- 有时间限制
我们要理解导师,也是搞清楚怎么才能留用,目标是第一位的。不指望实习生每天能做多少事情,但求每天做的事情有价值,好的导师会花很多时间去引导,会拆分任务,从小到大逐步引导上手,这也是我们的导师认证课程里提到的。
带的好了确实是分担压力,但带不动就是浪费时间,很多做几天的活 mentor 可能只需要花几个小时甚至更短,如果一个无法沟通引导的实习生,反而会给 mentor 带来更多的工作量。
第三、发周报、日报不是在做表面功夫
周报和日报是为了在沟通之外对工作有一个回顾和审视,看看你的成果和思考;mentor 的 leader 会管更多的人更多的事,不一定能顾得上来。
但会以周报日报为依据,对于个人来说每天应该思考:
- 今天任务完成度是否符合预期?明天计划完成什么
- 今天我遇到了什么工作难题,并如何解决?
- 今天我犯的错误是什么?下次怎么避免?
- 今天哪些分心/浪费时间的事,让我无法更有效率?怎么避免?
每周应该思考:
- 工作内容和情况、以及解决方案哪些需要和老板/同事沟通?
- 回顾一周任务完成情况,总结未完成原因和如何避免
- 本周哪天浪费了最多时间,如何避免?
在日报里核心四点:亮点、成果、明日计划、总结
好的周报日报,不是流水账,写得好是锦上添花,写不好是画蛇添足。
第四、leader 对你没印象是最大的风险
最后会以导师和相关业务同事反馈为参考,以结果为导向,同时横向对比,综合评估得到考核结果。假如几个月过来你一点存在感都没有,就非常危险了。
不管用什么方法,让更多人对你产生印象(PS:是好印象,不要做晚上 1 一点群里@人这种事),你可以和导师沟通哪种方法更好,比如给大家发发零食。
如果有机会能和 leader 吃顿饭也是不错的,个把月找 leader 也沟通沟通,表明自己的成果以及想法、计划,摸清他期望。知己知彼,才能更好的完成实习任务。
第五、信任
你要信任你的导师,他是站在你这边的,辅导的好,未来会成为他的助力;他是你这几个月来最重要的知识来源,也许还会是一生的朋友。
也要相信自己,能通过那么多轮面试,至少说明能力是受到认可的,不要因为一点打击就害怕丢了信心。
最最重要的一点,实习留用的本质就是建立信任,如果 mentor、leader 信任你,相信你的能力是匹配的、超出预期的,那留用就是板上钉钉、水到渠成。上面的所有点都是围绕建立信任的方法来的,还有更多方式能建立信任,这就要自己慢慢挖掘了。
最后
这篇文章思虑良久,没有开付费文章,如果有关注下我的公众号:机智的程序员小熊,这对我很重要,谢谢了!