我是二月初返校时,才开始着手今年(2017年)的实习申请的。事实证明,即便此时大多数学校还没有开学,大多数同学也还在等待元宵节中,可还是晚了。 我统共投递了五家公司,按投递的时间顺序:网易游戏(内推),Google(内推),腾讯(内推),阿里巴巴(内推),今日头条;也统共拿到了五家公司的实习offer。一如所料的,面试Google花费了最长的时间。 二月返校后,便开始搜集各大互联网公司的实习招聘信息。此时大多数公司的实习生招聘还没有任何动静,这五家公司中,网易游戏(雷火)和Google是例外。网易游戏在一月份便开始了实习生内推,而Google更早,在上一年的十二月末便开始了。我搜集了往年(2016年)的实习招聘时间信息,写了一份中英简历,初步安排了刷题与基础知识复习的时间(50% - 50%)。
上面是二月初准备的招聘时间表,以及面试进度。 网易游戏网易游戏分为互娱和雷火两个事业群,只可二选一。我投递的是雷火,一是考虑雷火规模较小,比较有发挥的空间;而是雷火在杭州,是首选的工作城市,且往来上海便利;另一个重要的原因是内推的学长(在学校bbs找到的)是雷火的(不知道可否交叉内推)。内推的最后期限就在二月初,有兴趣的同学最好提前内推。 网易游戏的内推免去不了笔试。不过,似乎笔试成绩的比重很低,有不少笔试成绩很好的同学没有面试机会,而笔试较差的同学则相反。猜测其中的原因,或许是网易游戏对于学历和学校的限制吧。网易游戏(雷火)的面试分为四轮,三轮技术面试 一轮二对一的总监面。因为我投递的是游戏研发岗位,所以面试的内容基本集中在:
提醒大家好好准备出现在简历中的project。面试前本以为编译器相关的问题应该难不倒我,可是一面时面试了许多链接、装载的问题,而实际我并没有写过链接器,CSaPP上面相关章节也并未复习,导致差一点面跪。好在后面的算法题和数学题都做得不错,应该是勉强通过吧。二三面则相对轻松一些,遇到不会的问题,也直接说不会,或者对这些方面(JIT,Python)没有深入研究。 三轮面完,在著名的网易食堂草草吃了午饭(猪肉是真的好吃),等待上午的面试结果。只有通过上午三轮面试的同学才有下午的总监面。其通过率不太稳定,不过应该在50%左右。总监面的通过率似乎更低,20% ~ 30%。网易游戏的效率算是非常高的,我周一面试,周五便告知了offer。 腾讯腾讯也是找学姐内推的,内推前已在官网选择了微信事业群,其实更想去IEG,结果无法更改。巧合的是,最后是IEG的面试管打来的面试电话。 腾讯的面试则相对简单了许多。其中有两道大数据处理的题目,虽然是网络上面的月经题了,然而我没有任何准备。好在临场发挥不错,虽然与“标准答案”不同,但是面试官也认为抓住了解决这个问题的核心 :)。 腾讯一共两轮技术面试,一面是工作室某个team的leader,二面应该是一位总监,后来与一面面试官的交流,知道他是T4技术专家。二面主要围绕我的简历上面的projects展开,问题似乎都在考验我在这个project中的方式方法以及思考。如“你觉得你的服务器还可以在哪些方面再提高性能?”, “你说你的json parser比别人的快,为什么比别人的快呢?有什么特别的技巧?”不过,这些也确实是我思考过的问题,所以二面很顺利。中间甚至就我的project的取名风格开起了玩笑 :) 。 这里吐槽腾讯一下。两轮技术面试均为电话面试,最后的HR面试却要求现场面试。告知可以报销路费,我就屁颠屁颠地飞去了深圳。这一来一回,共计2500RMB,最后却告知只能报销800RMB。 在深圳回来前便确认了offer。 阿里巴巴实验室的师兄在阿里的数据库内核团队。本想着时间紧凑,不再花时间投递其它公司。学长劝我投递一下,即便不去,秋招也有绿色通道。 阿里共计三轮技术面 一轮HR面。技术面试主要是在聊project以及自己以后的技术路线方面的打算。私下也与内核团队的leader交流了许多,看来学长说了我不少好话。阿里的面试官是看我的简历最详细的,连GitHub也有认真地看,从代码风格到issue中与其它同学的讨论,再到为什么坚持用英文交流等等。总体的感觉是,技术氛围很浓厚。 我的面试基本上没有算法题目,倒有一些排列组合的题目,也都没有太大的问题。 Google是我在Linkedin上找学姐内推的。第一次给学姐发邮件,没有回复。后面又发了一次,原来学姐edu的邮箱不太查看,还好自己坚持了下来。学姐在湾区,而湾区的实习生已经招满了,不过我本来也是打算投递北京/上海的office。学姐很高兴给我内推了,电面安排在三周之后。 Google的面试只考算法题(phd要考设计题)。我的电面只做了一道题。不难,但是需要在Google docs 上面写代码,加上follow up花费了一些时间。不过,好在,我的临场发挥不错,解决了follow up。Google的工程师发掘bug的能力很厉害,我还没有写完,便指出其中存在bug,要我再考虑考虑。Google似乎并不要求一次写对(bug free),对于我这样马虎的同学,算是好消息吧。 电面之后的两周一直没有消息,本以为电面挂掉了,结果接到Recruiter安排现场面试的电话。Google上海在环球金融中心(开瓶器)。面试时间在下午三点半,我吃过午饭,将头发梳成大人模样,便出门了。没想到一个小时就到了陆家嘴,结果在Google的大堂坐了两个小时。现场面试也只有一轮,45分钟。面试官似乎对我做的project(编译器)和在DJI的实习工作很感兴趣,聊了大概十分钟,便开始做题目。 这次做了三道,第三道没来得及写代码。现场面试时,面试官会将你的代码在他的笔记本上进行测试,好在没有太大的问题。后面的提问环节,面试官竟然提到了王垠以及他在Google实习期间做的Pysonar。他提到,Google内部仍然在使用王垠的Pysonar(or Pysonar2),称其为“T6级别的工作”。也许,面试官是看到我在DJI实习时做的“编程风格检查工具”,才想到王垠的吧(和王垠差了好几个档次,做的东西难度差别也很大,能够让人联系到他,非常意外)。 一周后通过hire committee,Recruiter告知offer。从投递,到offer刚刚好两个月。 本没有打算投递今日头条,不过通过面试的话,有“秋招绿卡”。 头条的面试安排在下午,连续三轮技术面试。在一个在线平台中写代码。一面做了四道题目,从算法题,到数学题(概率),再到偏向智力问题的策略游戏。都比较顺利(概率题犯了个很傻的错,面试官指点下改过来了)地答出来了。 二面做了两道算法题,难度介于leetcode medium与hard之间。剩余时间都在聊project,当我谈到我的服务器使用自己写的编译器编译时,面试官说了一句“Cool”,感觉已经妥了。三面应该是总监面之类的,主要是聊项目,也聊了一些nginx。 三轮面试结束不到一个小时,HR告知面试通过了。不过没有打算去头条实习,拿了“秋招直通车”,秋招时只需再面试一轮。 微软最开始打算投递微软,后来考虑到微软中国的待遇、前景没有太大的竞争力。特别是,我不太想做windows方面的开发(知道去微软并不一定就是做windows开发)。另一方面,是因为轮子哥在微软。 所有最后并没有投递微软。 最后选择去Google实习了。这两个月最大的收获某过于破除了一些心理上的障碍。比如,知乎的某些问答中提到的网易游戏的通过率之低,Google的竞争压力之大。等到都做过一遍,才知道,只要认真准备一番,其实是可以比较顺利通过的了。 建议不要将一些流传的难进的公司“妖魔化”,它们并没有那么难。前提,自然是做一些相应的准备:
面试技巧:
学姐推荐 猜你可能还想看这些好文 |