校招与实习基本上承载了应届生从学校完全步入社会的一个过程,可以说是一次跨度相对长一点考试,但是对于没有开始的校招的同学来说,却像一个神秘而又不知深浅的潭水,怕一脚跌入,就沉入潭底。
这篇指南面向的对象主要是互联网行业的研发岗人群,其他岗位一般大同小异。本文的目的是想告诉你校招是什么,校招有哪些流程和环节,一些浅显的,大家想知道但是好像还没人写的东西。
每个具体的岗位和方向都有不同,鉴于本人水平原因,本文不涉及太多技术细节的问题,在文末会推荐一些写的很好的资料和帖子,具体的学习内容跟着牛人学比跟我写的内容好多了
由于经常有学弟问一些词语是啥意思,所以先介绍一些公认的一些术语。如果碰到不懂的词语,多问问身边的人或者学长学姐,很容易就知道了。
春招实习非常重要,原因有很多。
在往年提前批一般都得去公司所在地面试,比如去深圳面试腾讯,去杭州面试阿里网易,有的公司可能会根据情况报销一定量的路费,但是想面完各大厂需要的开支也不低,提前批也是各大公司提前抢优秀人才的好手段。正式批则一般。
而今年因为疫情,基本上互联网公司都使用了远程面试的方式,那么导致大家的投递和面试成本几乎为零,提前批和正式批也没有明显的区别(反正都是线上面试,所以大家把能投的知名公司都投了一遍)。在这样的情况下,我们假设发出去了的offer数量以及投递人数的增强比例和往年是持平的,那么拿到offer但是不准备去工作的大佬就变得更多了。
由于著名的二八定律,20%的人手里有80%的offer,各大公司按照往年的计划发了一批offer出去,但是最后拿到offer并不去的人相对往年更多一些,而那20%的人虽然有很多的offer,但是最后还是只能去一家公司。这导致了秋招补录也非常重要,以前补录的名额相对较少,但是今年在谈薪之后还有不少补录的机会。
选择去向公司是一个非常简单但是又十分令人纠结的事情。这和选实验室有点像,部门业务的好坏大概能从产品热度知名度窥见一二,但也不够全面,对于研发来说更重要的是技术氛围,也是完全不了解情况(实习就很重要了)。大家一般会从脉脉和认识的人中询问了解部门情况,但是终究并不全面。
我认为选择offer是一个非常私人的事情。每个人的情况有太大的差异,有的人因为男女朋友的关系,需要选在同一个城市;有的人希望离家近,甚至每周末都可以回家;有的人只希望技术氛围好,让我能力提升快就行;有的人不喜欢很push的环境,希望能慢慢成长。至于选offer的方式也是千奇百怪,每个人都可以定一个自己的标准,也可以到牛客网上发帖,跟同学一起讨论,综合考虑吧。
由于有时候以凡尔赛晒offer而不是真心求指导的大佬们也很令人烦躁。开篇都是一句本人渣硕(点开学校c9),拿了几个offer(大厂列了一票),希望大家给点意见。每个人的价值观和认知都不一样,而且大家基本都是在校生,对于你拿的offer里面的情况也并不了解,都是凭感觉投票,真正有参考的价值又有多少呢,而且大多数人都是屈从大环境节奏的。于是有了这么一句:大佬们啥都会,就是不会选offer。
当然上面这一段并不是说去牛客网发帖询问offer选择就是没用的,我希望你在征求别人意见的时候也有自己的目的和考虑,毕竟作出建议的人不会承担作出决定的后果,等到以后工作不顺利的时候想着「哎,我当时怎么没决定去另一家公司」,到时候后悔岂不是更难受。还有一个很容易选出你想去公司的方法,如果让你把手里的offer送给别人,最后留在手里的就是你最想去的公司,那就别纠结了。
在即将毕业的最后几个月里,还是有一些补录的机会。如果本来准备考研的同学因为一些原因失利,这时候一定要好好把握,而对于直接准备工作的同学建议把主要精力放在秋招,临近毕业急急忙忙找到的工作不一定合乎口味,而且很多岗位都已经招到了人,还有的空缺相对不多了。
OfferShow更加适合看实时的薪水,而往年的薪水情况,在知乎和脉脉等论坛上也有人整理各大公司的薪水情况,不同公司的各档次薪水的分配比例也有所不同,这里还是不过多透露。学会搜索,例如在知乎上搜校招薪水,2021校招薪水很容易找到你要的答案。
前面说了这么多,你应该对秋招的流程有了一个大致的了解,但是其他都是常识性的问题,按照流程走大多没啥问题,你得能通过笔试和面试才行,这里简单介绍一下笔试和面试,参加几次你就了解了。
平时都推荐大家去LeetCode刷题,在LeetCode的题解和讨论区已经形成非常好的氛围,但是在笔试时的算法题是需要自己处理输入输出的,如果没有做过ACM或者OJ经历的需要去提前适应一下,可以在牛客网搜一下往年的笔试题。笔试基本都在牛客网,需要打开摄像头,会监控屏幕。
按惯例自我介绍,现在基本上都是开始或者结束的时候写算法题,然后中间聊项目经历和基础之类的,结束之后多搜面经,看看别人问什么样的问题,再去查总结博客或者书。
谈一些我的浅薄认知和观点,也相当于变相回答一些问题,我的认知可能比较浅薄,覆盖不够全面,可以交流讨论,欢迎补充观点。
内推是有奖金的,虽然据我了解多数公司的校招入职的内推奖金并不多,不过蚊子再小也是肉,而且大佬们也都乐意帮助学弟学妹们找到满意的工作,毕竟他们当年也是这么过来的。在这个人人都有内推的时代,内推很多时候并不能减免笔试面试的难度,但是至少能保证你的简历能更好的被hr看到,不至于投了很久一点消息都没有。这里补充一下,很多公司的提前批是没有笔试的,提前批的机会一定要抓住!
如果你想把更想去的公司放到后面一点投,当然也是可以的,但是不同的公司特点不太一样,不一定能遂你心愿。比如字节和快手等公司,基本上都是连续面试,可能一天连续面2-3次,而像阿里腾讯等,可能有2-3周或者以上的面试跨度。
今年的提前批还有新的情况,一些公司在面试失败之后会有其他部门捞人,所以你在牛客上经常会看到诸如「字节十四面」的帖子,其实就是一个部门挂了,另一个部门捞人重新开始面试,别被标题党所震惊。往年也有捞人的环节,不过大多是比较优秀的但是更合适其他部门的互推,今年这样好像也是?基本是这样的情况,这里我没有具体的判断依据。
经历了两次校招的我,第一次是以211本科生的身份去面试,第二次是以985研究生的身份去面试,给我的感觉是第二次更简单一点。我的研究生学制是2年,由于我比较佛系,感觉研究生相比本科的时候也没有特别大的提升,对于背了的内容可能更多一点,但是跟那些看了一大堆的书的大佬相比还相差甚远,不过我可能实践更多一点。在这次校招的时候,感觉985的学历还是有了一些帮助。
这里多提一下有关学历的问题,互联网已经是最不看重学历的行业了。在这里更多看的是技术,当然也不是说学历没用,这是一个老生常谈的话题,更好的学校就是比稍差学校产生优秀人才的概率更高。按照我的体验来说(不一定靠谱),有本科学历就有了资格(这也是各大厂的基本要求),但是学校越好、学历越高,在这个研究生遍地走的时代更容易找到好的工作。
校招的后端研发虽然一般来说有JAVA/C++/Golang三个方向,但并没有非常严格的要求,例如腾讯就统一称为后台开发。你可以通过外界了解公司主要使用的技术栈,比如腾讯旧服务大多C++,一些新服务使用Golang;字节大多也是C++和Golang;阿里主要是JAVA(也会有C++);美团和快手主要是JAVA;滴滴有Golang和PHP等;面百度的时候感觉语言很杂,什么都有。
后台的岗位人数一般来说是最多的,需求量也是最大的。主流的方向是JAVA和C++,最近几年由于Golang慢慢变火也有了对应的岗位,问的内容跟C++比较相似。我投递的Golang岗位感觉难度比其他更低一些,近几年有关Golang的资料不像JAVA架构师一些课程那么多,而且Golang也是一门年轻的语言,语言本身的就很简单,内容并不算太多,在投递人群较少的情况下,感觉还是比其他方向容易,当然hc也少很多。
现在缺口较大的是客户端和前端,像字节跳动因为很大的客户端开发需求,有时候hr会建议问你能不能转到客户端的岗位,甚至可以零基础进去之后培养。你想要找什么样的岗位应该是在看到我这篇指南之前基本考虑好的,如果你现在还不知道,那么你得抓紧学习了!
经过好几次总监面聊天后才有这样的感受,大佬们认为语言都是可以转的。有一定工作经历的人对于大多语言并没有非常强烈的偏向,每种活跃的编程语言都有其存在的意义和适用的场景,这点我也非常赞同。不过对我这样还有太多需要学习的人来说,我还是更愿意找自己熟悉的领域,这样才能更快上手并且深入研究,毕竟我认为了解更深入和仅仅会拿语言写一两个接口之间的差距还是很大的。
单枪匹马找工作很多时候会感觉与世隔绝和莫名的孤独。校招本来就是一件劳心费神的事情,找几个方向相同小伙伴一起定期交流,很多时候会有意想不到的效果。多面试几次之后就会发现,面试问的东西都相差不算太大,常考的内容在几次面试之后你就会感觉到大致的方向,多和朋友交流可以更好的总结复盘。
这个问题经常在知乎上被提及,虽然互联网真的挺累,终身学习,经常看到加班和不幸离去的消息,但实打实的高薪还是吸引了很多其他专业的人转行过来,造成了人越来越多,竞争压力越来越大。按照知乎的帖子,可以看到算法岗最近几年大概的问题走向。
标题的名字在一步步升级,从值得进入、供大于求、诸神黄昏、一片红海到现在的灰飞烟灭,不能看出算法岗校招的难度确实越来越大,而算法岗拿不到满意offer的人很多都转岗来抢开发的饭碗。
尽管竞争越来越激烈,但每年的校招薪水还是以肉眼可见的速度不断上涨,互联网的开发岗位暂时还没有出现饱和的现象,根据最近的观察来看,好像只有CV(计算机视觉)算法岗的空缺很少,其他开发和推荐算法的岗位还算充足。今年因为疫情导致大家的投递成本很低,在前期的时候到处都在说今年校招形式不好,找工作难度变大,但其实在正式批和补录还是有不少机会,据我了解认识的一些算法岗没有转开发岗的同学大多也上岸了。
研发岗和产品等岗位不太一样,在互联网公司,一般是一对一的面试,刚开始没有面试经历的同学可能会有些紧张和害怕。其实没什么好怕的,互联网公司面试官一般就是你未来的同事,面试这个机会也是让你了解,如果你能通过面试顺利入职,你将会和什么样的一群人一起工作。
多数时候一面的面试官会成为你入职后的mentor,后面几轮非交叉面的面试官是你的部门leader,多数时候面试官就是比你早几年进入工作的人,所以也没什么好怕的。我认为一位合格的面试官应该是善于发现面试者闪光点,能够在交流中循循善诱好好沟通的人,面试中遇到的很多大佬都是技术精湛而且谦虚的。
同样对面试官也宽容一点,可能他前一个小时刚刚焦头烂额地在修复bug,或者最近已经面了很多求职者,对你的简历没有太多的兴趣,看过很多类似的项目,显得有点心不在焉,或者是没有太多精神。总之,互相尊重我觉得就好了,如果没能顺利通过,只能说能力还需要提升或者缘分没到吧。
面试首先当然得靠实力,但在实力之外还有还有些玄学的成分。面试其实是一个有点主观的事情,面评全靠面试官给你打(多次面试也是为了降低过多的主观感受)。如果你碰到了一个恰好比较聊得来的面试官,那可能就比较顺利,如果面试官最近比较倒霉,很多事不顺心,如果你没有表现得很优秀,那很有可能就直接将你拒之门外,还有技术栈不太匹配,他们的工作方向你没有什么了解,都会导致一次面试的失利。
如果偶尔几次面试情况不太好,不太过于灰心,好好复盘整改,把不会的问题和深挖到的点整理,修改优化简历,在简历描述上引导面试官可能会问的方向,变得更优秀以后他也没有拒绝你的道理。
建议不要在拿到一个offer之后躺平,校招是双向选择的过程。在校招的前期,大家都像要上屠宰场的羔羊(好像比喻不太恰当),群聊讨论的心态都是「给5k就来」,「求求xx收了我」,「羡慕去xx的大佬」,而拿到一些offer谈薪之后是「没40W这也太低了吧」,「跟xx家比这个offer一点竞争力也没有」,「要不还是去xx吧」。
每个人都知道别把鸡蛋放在一个篮子里,所以别拿到一个offer就躺平,拿3-4个选择的空间就会有很多,多拿几个offer的好处下面还会讲。
谈薪水是一种和hr之间的博弈。hr的目的是用更少的成本招到更优秀的人,而求职者当然希望能拿到更高的薪水。举个简单的例子,你拿到A公司和B公司的sp(身边常有的事,这里隐藏公司名),拿A公司的offer去argueB公司加钱,同理拿B公司去argueA公司,只要有一个公司能增加档位那么就是赚的。
按照我身边的朋友来看,跟hr可以先不那么确定,磨几个来回,这个事情会有一些改变(可能有别的大佬拒掉了同岗位的offer等等原因),刚开始hr一般都会有比较强硬的态度,后面如果招不到人他们也会很心急,再打个不恰当的比喻,「渣男」总是能得到更多。当然我上面说的这一切是在你面评还不错,并且具有一定竞争力的情况下,如果A公司给你开的白菜,你也没有太多的底气去argueB公司,对吧。
但是对于我来说,我很不喜欢这样讨价还价的博弈。我在心里设定一个标准,然后把情况都讲清楚,如果hr态度强硬没得谈的,那么我就直接拒绝offer,这样做不一定是最优的解,但省事,每个人都有不一样的价值观。
有朋友问我拿到实习offer不去,会被拉黑有影响吗?答案当然是不会,能拿到实习offer证明了你已经被这个部门所认可,至于不去实习的原因可能多种多样,比如实验室不放实习,比如其他家先发了实习offer我先去了等等。跟hr讲清楚就行了,没有必要因为不能去实习而担心,但是在可以去实习的条件下,强烈建议去实习,原因我在之前的春招部分已经讲过,不多赘述。
资料和信息还是挺重要的,如果你光抱着本科的那几个课本在现在的求职中是远远不够的。以后端为例主要是数据结构,计算机网络,操作系统,数据库等。因为我是找的Golang的方向,看的资料也不算太多,建议去找自己方向的大佬推荐总结的资料,复习起来应该会更有针对性,这里我推荐几个我看过的很好的资料
强烈推荐公众号《小林coding》,图解风格,深入浅出,把小林的网络部分看完,计算机网络这块基本没有问题了。
现在的算法要求,LeetCode一般刷完前300题,在面试中能够快速写出对应的答案就非常好了,可以先写出不是那么优化的解决,跟面试官聊天的时候一步步优化。
我对JAVA这块完全不熟,要掌握JVM调优,GC等等
腾讯和字节比较喜欢问智力题,比如腾讯最爱问的赛马题,把常考的看一下就行了
校招总是会令人焦虑的,跟朋友聊聊天,想办法舒缓一下。校招只是你从学校毕业的一个转折,今后的路还长,有趣的事情还很多,好好生活,好好学习,祝大家都能找到满意的工作!