2018互联网顶级公司春招实习和秋招前端面试题


2018校招总结(外企,国内大公司,国内创业公司) 本篇是我参加2018春招实习和秋招的求职经历,除了笔试面试中遇到的一些问题,更多的是一些我的想法。前端

春招和秋招面了很多公司,实习offer有网易互娱,今日头条,Hulu,最终选了Hulu。node

校招目前拿到offer的有 微软美国,Hulu,Amazon,Freewheel,pony.ai,依图,商汤,网易游戏,腾讯,网易有道,完美世界,滴滴,百度,搜狗,宜信大数据,美团点评,搜狐,华为,基本都是SP。react

实习 先从上半年找实习开始提及吧,由于实习的重要性你们都很清楚,若是特别想去这家公司,去实习是最稳妥的,并且最后的sp offer大部分都是给实习生,因此有的公司实习面试反而更难一些。我由于实验室不放实习的缘由,因此投得很晚,有些同窗已经开始实习的时候我才开始投,当时的目标是外企(好比Google,Hulu,微软)和国内一些很看重算法(这里说的算法是ACM算法,不是AI的算法)的公司(好比网易游戏,今日头条),那些面试喜欢问语言特性,操做系统,计算机网络等等的公司一个都没投,(这是我的偏好问题,并非怕被问到这些,也不是说这些知识不重要,而是以为面试全问这些问题很boring,一轮面试短短一个小时,我以为只问这些东西真的看不出一个candidate的水平,特别是潜力,我的见解而已)。nginx

全部事开头老是难的,3月初面Google北京,关于Google北京听过不少人的见解,有说很是难不是ACM金牌基本过不了的,有说只要够聪明刷一个月的题就轻松过的,也有说Google北京很无聊都是很是边缘的项目学不了啥的,我当时也没想太多,断断续续刷了两个月的题,也没啥信心,就当体验下,电面还算顺利,onsite两道题第二道没想出最优解直接打出gg进了waiting list,第一次面试就早早得结束了。面试


后面春招开始,一边忙实验室的事一边抽时间准备,算法水平也逐渐提升了一些,开始在一些oj上试试比赛,cf,tc,lc,hr等等都有练,见的题多了,一些套路模板题也能一眼看出来了,不过也渐渐发现跟那些高中开始搞OI的ACM Final大神比起来仍是差很多,不过确实时间有限,就拿着练了几个月的半吊子水平开始了笔试面试,当时比较想去的国内公司就两家,网易游戏和今日头条(我的比较看重公司的门槛,面试的难度或多或少说明了之后同事的水平),因此看了不少这两家往年的笔试题和面经,算是准备的比较充分,这两家的笔试难度差很少,基本都是一或两道水题加一道偏难的题,过得还算轻松,面试的话网易游戏就一面,会问一些基础题,夹杂一两道算法题,不过都不难,最后拿到了offer。头条一共三面,前两面都是项目和基础知识,面完两面有点失望,感受跟据说的不太同样,结果到了第三面写了一道颇有意思的并查集+dp的题,跟面试官也聊得很开心,最后给的offer就是第三面面试官所在的组,应该是后台开发吧。算法

当时基本就肯定从这两家中选一家去实习了,到了5月中旬个人一个去Hulu实习的好朋友内推我去面试,我就抱着试试看的心态去了,由于以前Google面得很差因此去面难度至关的Hulu也是不报啥但愿的,不过由于当时手里有了满意的offer,心态就很放松了,就当是去跟高手切磋下。Hulu一共三面,第一轮电面就遇到了迄今为止认识的人里最厉害的ACM大神(后来成了同事),不过幸亏题不是特别难,手写一道加口述思路一道,还算顺利得过了。后面两轮onsite,第一轮题还算常规,不过要现场跑通全部case,幸亏最后把代码调通了,第二轮先简单聊了聊项目,而后口述了一道题的思路,最后手写了一道题,当时真的是灵感突现,一会儿想到了最优解,不过代码写得比较慢,还出了几回bug,最后超时写完了,面完大脑都转不动了,不过仍是比较开心的,至少题都作出来了,聊得也顺利,等了一个周末给了offer。最后选择去Hulu实习,也是综合了不少方面的因素考虑的,我的仍是比较倾向外企的工做环境和氛围。编程

校招 下面开始是校招阶段,按照国内外公司和是不是创业公司来分,其中一些想法也仅仅是我的观点,仅供参考。redux


外企后端

Hulu(offer)设计模式

Hulu是我实习的公司,拿到了return offer,package很是有诚意,确实不愧是互联网含金量最高的offer,没有参加校招(不过据说校招的笔试最后一题考到了最小割,表示最大流的题迄今为止就写过一道T_T),因此给不了校招的经验,不过能够说下Hulu的实习体验。

首先跟以前据说的同样,很是正宗的外企工做环境,零加班,自由时间,最前沿的技术,很规范的工程管理,很nice的技术分享氛围,牛人很是多(有些是业界知名度很高的大佬),不过除了这些,我以为Hulu最让我感动的是里面的mentor制度(我知道有些公司的mentor制度其实只是摆设,特别是对实习生),至少我在Hulu的mentor教会了我不少东西,不只仅是技术,还有一些我的发展的见解,并且身边的同事真正让我体会到了跟聪明人一块儿工做是多么幸福的事,后面有时间再专门写一篇详细说下。

Google(已跪)

Google中国其实也没啥好说的。。除了在那实习的走实习转正流程,其余无论是否是内推的先过CodeJam(如今叫Kickstart)再说,我参加的是7月份那场,题比较难,名次不高,不过仍是过了,然而先收到了笔试经过的邮件,还啥都没面就收到了HR发的据信,上来直接就Thank you for interviewing了,后来才知道以前实习面跪了会影响校招,大概是有冷冻期之类的,还让我无需参加后面的笔试了T_T。

我就没再管,也没参加8月份的那场Kickstart,不事后来又收到了安排电面的邮件,应该是第一轮的备胎批吧,早知道就应该参加8月份那场了,题比7月份那场简单很多,若是名次好的话就能够到第二轮的优先批了。目前面完了电面,是三番那边的中国人面的,面试体验比较差,首先是听不清,其次是面试官零交流,题很水,写完代码强行让优化了一波(其实就是考虑下特殊case),目前还没收到反馈邮件,应该是跪了。

最后,若是你真的特别想去Google,那就去美帝读个硕士开启easy模式吧:)


微软美国(offer)

微软从北京的工程院到最后美国西雅图岗位的面试,加起来一共面了9轮(:з」∠)

最一开始是因为以前找实习的时候在hihocoder上参加过几回编程挑战赛,名次还能够,7月份的时候收到了微软探星夏令营的邀请邮件,8月中旬进行的探星夏令营面试,算是微软的提早批吧。

面试一共5轮,2轮skype电面,3轮onsite,纯算法题,白板编程(有些人以为白板写代码很蛋疼,不过我以为白板写代码也有好处,就是不须要现场编译跑case,只要思路清晰,基本上均可以写出来)。

电面的题比较常规吧,属于那种不须要怎么想的基础算法题,是用notepad写,主要看白板写代码的基本功,写完面试官会看下,由于我写得比较快,因此两轮都留了很多时间跟面试官尬聊O.o

3轮onsite是在北京微软大厦,一个小厅等面试官来领人,第一轮是个很是热情的小哥,作题以前聊了不少学校实验室的生活和实习的事,一顿商业互吹,而后问了一些数据结构的用法和实现,比较easy吧,最后白纸上写了一道棋盘dp的题,也是很常见的题,一面就在愉快欢乐的气氛中结束了。第二面是个很是不热情的小哥,直接跳过了暖场环节开始怼题,先是一道LCA的变种题,而后是一道BST转有序双向链表,也算是比较常规的题,我看他好像不喜欢聊天,就切换成了严肃认真的神态写完了代码,而后看他一声不响检查完代码就结束了。第二面面完等了一个多小时通知去三面,就是部门主管面,面个人是作AI方向语音识别组的manager,先问我喜不喜欢搞AI,我固然说喜欢啊,而后拿着个人简历随便问了些项目,中间穿插了一道大数加减的水题,我觉得后面没算法题已经准备笑嘻嘻地开始聊人生了,然而最后问我知道哪些高级数据结构或算法,我担忧说一些常规的不够镇得住场面,就把我刷题遇到的和从ACM大佬那听到的都抖出来了,说完就后悔了,由于有些只是知道并无写过,不过幸亏manager问了个还算常见的线段树,让我实现下并说下优缺点和应用场景,我写完看他还算比较满意吧。

面完微软后我觉得应该很快会出结果,然而等了很久,问了在里面实习的同窗也说微软流程比较慢,就先无论了。后来收到邮件问想不想走美国招聘的流程,再后来收到了HR的电话,说我以前面得很是好,问我是选走中国的流程仍是美国那边的,我选了美国,这样以前的面试成绩只能做为参考了,要等美国的面试从新面,这一等就等到了10月底。

美国的岗位是西雅图那边派工程师过来面的,一共四轮onsite coding面试,题目难度感受不是特别大,不过对于口语不是很溜的我来讲,如何跟面试官谈笑风生才是更伤脑筋的,并且10月底正好还有其余几家要面,因此并无好好准备口语,只能匆忙上场,幸亏题都作出来了,聊得也还算顺利,隔了一天发了offer。


Amazon(offer)

亚马逊就是乖乖走的校招流程了,没有内推,没有提早批。

先是9月5号参加了在线的笔试,在一个叫amcat的系统上,用过这个系统的同窗应该都知道,体验很糟糕:(,不能切到本地写,这不算什么,关键是那个在线编辑器很差用,并且中途系统卡了有大半个小时直接啥都不能输入,不过幸亏最后有惊无险三道题都AC了,一道约瑟夫环裸题,一道贪心,最后一道有点意思,是个图论里最大独立集的变体。

过了笔试一周后去参加了onsite,一共两轮。第一轮面试官很年轻,结合项目问了不少很详细的基础知识,幸亏提早回顾了下项目,否则好多细节都忘了,而后黑板写题,一道把数字输入的钱转成中文读法的题,其实这题没啥难度,主要看实现,由于实现很差的话代码会很是繁琐,我一开始也没想到比较好的方法,就直接开写了,写着写着就知道哪里的逻辑能够优化,最后用了比较短的代码写完,还算比较顺利。第二面就是主管面了,可能主管看到了我上一轮面得比较好,就没问啥基础,主要问项目,并介绍了他的部门在作啥,这一面交流比较多,最后算是象征性地写了一道dp的水题结束。

Freewheel(offer)

Freewheel在8月份组织了一场open day,当天现场笔试,我因为在实习当天请不了假就没去,后面就没提早批了,所有要等到9月底参加笔试,他家的笔试虽然是在线的,可是以数理逻辑和数学问答题为主,没啥编程题,最后一道问答题是线性规划,用在线的编辑器写单纯形法打个表分分钟要崩溃(╯°□°)╯︵┻━┻。

两轮技术面试都是以项目和设计模式为主,其中二面会有一半时间是用英文交流,原本觉得笔试挺难面试应该更难,然而面试官说看了个人笔试不须要问算法了,因此面试没啥有意思的问题,就不细说了。

Airbnb(已跪)

Airbnb入华时间并不长,目前office在望京那边,FTE不多,最近好像在大规模社招,国内的业务具体不清楚作得怎么样。我是走的提早批,不过联系得很晚,应该是提早批最后一批吧,当天除了我大概还有七八我的过去面试,三轮onsite的coding,须要现场写完代码,编译经过跑完case,须要三轮都经过才行,这里有个很看人品的地方,由于北京这边的工程师太少,因此面试须要三番那边的面试官过来,因此若是你的面试官是三番的,那么恭喜你,只要你系统刷过题,那么难度基本属于秒杀级别,若是是北京这边的,那么极可能遇到那种比较恶心的题,我就不幸在第一轮遇到了(╯▽╰),具体题目因为有保密协议不方便透露,解法倒不难想,不过写完代码corner case巨多,现场调bug一旦心烦气躁就很容易gg了,就算后两轮都是秒杀也仍是跪了,不说了,都是泪╥﹏╥...

WAP(中断流程)

WAP是一家作ERP的日企,在上海有office,以前日元汇率比较高的时候给的还挺多的,最近两年不太清楚,这家挺神奇的,感受一年四季都在校招,常常在朋友圈看到他家的宣讲海报,投了6月份的那批,笔试两道题,一道dp一道搜索,半个小时AK,难度中等偏低,后面发邮件说还有好几轮面试,好像还有短时间实习啥的,好像很麻烦,正好那时候恰好开始实习了,就没去面试,直接中断流程了,果真最近他家又开始校招了( ̄. ̄)


Facebook(投不了)

FB在国内没office,以前有过三番那边直接来国内校招,不过那已是三年前的事了,好像据说社招还在时不时得进行,反正找在那边的学长内推,并无下文,意思大概是今年仍是H1B只给社招那边,因此对他家有执念的大佬仍是考虑去美帝多个研吧╮( ̄▽ ̄)╭

国内大公司

国内的公司面试不像外企那样以考察算法为主了,各家公司有各家的特点,我挑了几家印象比较深入的写下。

首先,国内的公司我在投简历的阶段就比较头疼,由于要选岗位,以前投外企是不分岗位的,最多分个SDE和Researcher,而国内的公司各类分部门分岗位,前端,后端,算法,大数据,云计算等等,我真的考虑了很久到底投什么,最后仍是没想好T_T,索性就根据各家特点投不一样的岗位了。

如下公司按面试时间顺序排列。

今日头条(推荐算法岗,已跪)

因为以前拿到了头条的实习offer,头条的HR很早就打电话给我发了校招直通卡,让我参加8月中旬的提早批面试,我就从后台换成了AI部门的推荐组,过去面试发现人不是通常的多,直接在地下食堂排队叫号面,我觉得我换岗要从新面三轮,然而第一轮面试官告诉我只有一轮,我还没来得及高兴,他就直接问我作了哪些推荐算法相关的工做,我一脸懵逼,只能说没作过,不过让我学能够很快学会,当时感受到面试官顿时对我失去了兴趣,我说我算法基本功还能够,他想了想,而后问了我一道零碎链表重组的题,我想了会说能够转换成区间合并的问题用O(nlogn)解决,他愣了一会让我再想一想,我不知道他想让我说啥,由于我以为区间合并已经比较优了,暴力遍历还跟零碎链表的平均长度有关,他看我想不出来更优的就说能够遍历,我(O_o)??,感受跟他不在一个频道上,后面的时间就是咱们互相说服对方哪一个方法更好,最后结果可想而知,怼面试官只有死路一条啦(^o^)/

搜狐(后台研发岗,offer)

搜狐也是面的比较早的,八月底就面完了,经过内推走的提早批,一次性面完两轮onsite技术面。

第一轮上来直接就是后台一个组的技术主管,不过好像工做时间不是很长,有点小意外,也是先商业互吹暖下场,我觉得他会像其余大佬面那样结合项目经历问些哲学问题,那样虽然比较boring不过算是比较常规,然而他直接让我在黑板上作题,又让我意外了下,先是一道常规下雨盛水的题,大概是leetcode原题,思路很简单,就写了个stack的解法,而后一道二叉树翻转,也是几行解决,他看我写的比较快,就出了个代码量稍微大了点的搜索题,01矩阵,有一批0变1的操做,统计连续1的块数,我就用并查集撸了个,这时候写完三题我以为差很少了,他应该也比较满意吧,就跟我随意聊起来了,我仍是很是喜欢这个环节的,由于我以为面试是个双方互相审视的过程,不过前提是让面试官先承认本身,因此我就问了他平时用的技术栈,问他是否是搞过ACM,他说只练过半年,不过平时也喜欢打打比赛,面试别人也只问算法,我以为有共同话题了,就把刚刚他问个人第三题稍微变了下来问他,对01矩阵有0变1和1变0两种操做,实时统计连续1的块数,这是我在其余地方见到的,不过还没想到最优的解法,这就不能用并查集作了,而暴力搜索又太慢,离线的话好像也搞不了,他就跟我论了起来,讨论了大概10分钟,想到了一个搜索加cache剪枝的方法,两我的都比较认同,结束了第一轮面试,这也是我全部面试里惟一一次给面试官出题现场讨论的,因此映像很深入。

第二面是另外一个组的,算是交叉面吧,这一面就没啥特点了,很是标准的国内互联网式面试,先问简历,再问项目,再问基础知识,由于太没特点时间也过去好久了因此问题都忘得差很少啦,大概是以语言和网络为主吧。

宜信大数据(大数据研发岗,offer)

宜信也是找学长内推的,9月中旬面的,算是提早批吧,先是两轮onsite技术面,隔了一周再一轮大佬面。以前据说宜信面试很难,因此仍是作了比较充分的准备。

第一轮的小哥并无问出是哪一个组的,作的东西好像跟前端有点关系,抓着个人简历一顿怼,什么都问,从实习经历,到项目,到点各类语言特性,到操做系统,到对各类前端开源框架的见解,并且问得都很细,细到差很少快把一个框架实现一遍了,感受有点厉害,不过有我的愿意听我一顿巴拉巴拉聊技术仍是挺爽的,我以异常快的语速说了大概50分钟,两人都挺满意的,他看时间不够,就随意让我口述了个杨氏矩阵找数的水题,结束了第一轮面试。

第二轮开始以前有个插曲,二面的面试官跟一面的面试官直接在门外讨论个人一面,可能他们不知道那个屋子的隔音效果很差,他们说的啥我都听到了 ⊙ˍ⊙,不过基本都是正面评价,我仍是挺高兴的,其中听到不须要再问我基础知识,能够着重考察下coding,终于到了喜闻乐见的coding环节。

第二轮的面试官居然是个看起来更年轻的小哥,也是上来先一顿商业互吹,接下来果真没有再问其余,直接给了个题目,一个矩形区域和无数个半径相同的圆(固然这是抽象建模以后说法,原题是他先说了一大堆应用场景),让我想个方法用尽量少的圆去覆盖整个矩形,圆能够重叠,初看不像编程题,像计算几何的数学题,我想了会也没找到很好的方法,就在纸上画,而后就给了个从一个角开始以某种规则往外铺的方法,他好像还挺满意,我问他这是否是最优的,他没告诉我,让我回去再想一想,说个人回答已经能够了。接着重头戏来了,题目变了下,一个二维区域里有不少大小不一的圆,可能有重叠,而后有一组点的坐标,让我返回每一个点被哪些圆包含了,须要代码实现。我第一反应是离线,就脱口而出莫队算法,他有点惊讶我知道这个,笑了下让我再想一想,我仔细想了下确实跟范围查询并没有关系,就开始挠头回忆有没有看过相似的题,静下心想终于想到以前作过矩形重叠算面积的题,虽然跟这个不同,但总感受这种二维平面图形重叠的题有相似的地方,因而想到了扫描线,他仍是挺满意的,后面就是各类细节实现了,把各类case都讨论了一遍,这一面超时了,不过面试官仍是比较满意的,后面提问环节得知这是位Final大佬,他说一开始根本没期望我写出来,我(╯°□°)╯︵┻━┻,最后跟他聊了些ACM圈子的梗(大多都是从其余大佬那听来的),第二轮面试就结束了,这一面大概是我迄今为止难度排前几的一轮面试了。


第三轮是一周后的主管面,这一面就没啥技术问题了,以哲学问题和聊人生为主,问我为啥要作那么多项目,之后想作啥(我也不知道啊大佬ㄟ(▔,▔)ㄏ),其中他居然对我以前写的一个玩具编译器感兴趣(这也是迄今为止第一次遇到对这方面感兴趣的面试官),他说他以前研究过LLVM(终于找到知音了大佬T^T),咱们就聊了很久的PL,从编译器前端聊到后端虚拟机,再聊到Haskell和Ocaml,我几乎把我学过的看过的听PL大佬说过的东西都吹了一波,他表示赞同,不过给出建议是这些东西没多少学生愿意学了,两人哈哈大笑,总之是体验很好的一次主管面。

美团(前端岗,offer)

美团应该是我惟一一家面前端岗的公司(因此这里能够好好说下前端面试经验),在牛客上看到有帮内推的就随手投了,然而他家的内推仍是得参加笔试,而后是三轮技术面,一轮HR面。

这里说下,国内公司不像外企,先后端分的很开,写前端的通常只写前端,不像外企大部分是没有专门的前端岗的,通常都是先后端都写的site组(有些直接叫vertical,加上移动端),因此一开始报前端岗的时候还有点担忧,不太清楚国内前端面试问啥,万一被问到CSS布局啥的我就跪了,也懒得为了应付面试去复习了,被问到就直接说不会算了,固然最理想的是问我js,react之类框架的原理,node,nginx之类的,问算法就根本不期望了。

笔试就是常规的选择题加两道编程题,没啥特点也没好玩的题,就没啥说的啦。

前两轮面试是去酒店面的,排队叫号,不过还好流程比较快,没有等过久。第一轮上来自我介绍后问了一个跟网站相关的项目,而后开始展开问些基础,不过幸亏没问啥CSS之类的,问的都是其余面经里的常客题目,像打开一个网页经历的各个过程,HTTP头部,HTTP2.0之类的,期间我各类暗示能够问些跟js或react有关的问题,不过面试官并不鸟我,大概是他已经准备好了题目吧,按照他的题库问完了就结束了,都是他问我答,很机械,不到半个小时就结束了。

第二轮面试官明显就没那么死板了,跟我有了很多互动,跟我讨论了下实习作的东西,问了不少细节,他还提出了改进意见,而后让我用js写代码,先是用setTimeout手动实现setInterval,很简单,直接闭包加递归,而后是实现一个监听滚动条开始滚动和结束滚动的监听器,也不难,就是写个监听器来监听scrollListener而已,再加个定时器,这两题虽然不难,但我感受仍是挺考验基本功的。接下来又聊了会redux的设计哲学,我就顺便把redux简单实现了下,他还挺满意的,结束了面试。

第三轮是隔了一周去总部面的,人仍是挺多的,不过流程很快,面试官基本没问啥技术问题,全程基本是我一我的在聊项目,最后我赶忙抓住机会问了不少他家用的技术栈,跟预料的差很少,而后就结束了。

紧接着就是HR面,都是很常见的国内公司“HR式问题”,这些问题也都有“标准的campus式回答”,没啥好说的。

网易有道(后台研发岗,offer)

有道投的时候好像内推提早批已经结束了,就走的正常校招流程,笔试+四轮onsite技术面试+HR面。

有道笔试的编程题比我预想的难一些,第一题常规树形dp(后来看了题解发现想多了,好像直接贪心就行),第二题简单数学题,第三题当时没全过(后来看了题解发现规律找错了)。

过了一周通知面试,以前一直据说有道的技术氛围极好,里面牛人不少,面试喜欢现场coding,因此仍是挺放松的,至少不须要刻意去看面经了,很喜欢这种让我improvise的面试。面试是周六,当时觉得有道周六还加班,去了发现并无,只有HR和几个面试官。我第一面在上午,面试官是个比较年轻的小哥,挺热情的,先让我挑个项目介绍下算是暖场,而后开始怼题,先是一道简单几率题,再是一道最短路搜索,很常规,优化直接能够双向BFS或者A*,不过这不须要现场写,最后是一道最大子数组和的变种题,求最小子数组绝对值和,这题仍是挺有意思的,想了会,先给了个O(nlogS)的解法,S是全部数的和,就是直接对解二分查找,他估计是没想过这个解法,就先让我实现给他看下,写完后又让我想下有没有O(nlogn)的解法,而后我才发现刚刚脑子短路了,直接先求前缀和再二分找最接近0的解就行,他仍是比较满意的(由于我给了两个还不错的解法)。

面完第一面已经中午了,HR把咱们带到网易食堂吃,多是由于是周末,感受食堂通常啊。下午第二面的面试官是第一面小哥的同事,也是先聊项目再作题,题目很通常,棋盘dp,而后他稍微变了下,给每一个格子加上权重,我就转成了图求最短路了,而后手写了个SPFA,最后聊了下有道目前的业务和技术栈结束了第二面。

第三面是另外一个组的主管,毕竟有道,主管面也是上来先作题,给一张图,求每一个像素的均值,其实就是二维矩阵求每一个数与周围8个数的均值,很简单的题,先求二维的前缀和就行,代码也很好写。他看我写得很快,还算满意,就没再问算法了,开始跟我聊分布式的一些基础架构,这个我不是特别擅长,只能懂啥说啥了,说了些开源的框架,也不知道算不算答得不错,而后介绍了下有道目前在作啥,并着重说了下有道很是自由的技术氛围,不是那种以产品需求为主导的开发,而且若是干得不爽能够随时换组,这点仍是挺吸引个人,最后问我之后想作啥,我说不知道,比较尴尬 (⊙ˍ⊙)

第四面是加面的,面试官是一个负责多个部门业务的大佬,问得比较随意,基本没啥技术问题,以聊人生为主,主要是看你对一些问题的思考深度吧。HR面详细得问了我其余家offer的状况和一些指望,也问得挺随意的。


完美世界(后台研发岗,offer)

完美我投的不是游戏部门,是互联网部门的后台开发,走的提早批,三轮技术面试,一轮HR面。

第一面是个年龄比较大的面试官,应该是title比较高的吧,很严肃,抓着各类基础知识一顿问,以C++为主,幸亏C++用得多,应对得还算好,而后问了一道很常见的数学题,用12的砖铺2n的地板有多少种铺法,简单组合数学题,我觉得他接下来要变成m*n的地板,那就是比较难的状压dp的题了,不过我仍是挺但愿他问的,然而并无,问了个整数划分的变种题,给了个搜索加剪枝的解法,他还算满意,其余还问了些Linux内核的东西,只回答上了两个,结束了第一面。

第二面是个比较年轻的面试官,是作iOS开发的,因此应该算是交叉面,问了不少关于APP开发相关的东西,我虽然很久不写iOS和Android了,不过幸亏一些基础还记得,后面扯到Dalvik,他好像对这个很感兴趣,就说了不少虚拟机的东西,最后算是面得还不错吧。

第三面直接就是完美互联网部门的老大了,完美的副总,不过是个很平易近人的大佬,因此聊得仍是挺开心的,给我介绍了不少业务相关的东西,跟他以前作的项目,我就负责喊666就好了,比较容易的一面哈。最后HR面也聊得挺开心的,这个HR算是我见过的比较厉害的了,没有问那些明显是HR新手才问的问题,聊得很接地气,给个赞。

腾讯TEG(后台基础架构岗,offer)

腾讯我投的很晚很晚,那时候笔试都结束了,因此没来得及参加笔试,不过仍是通知我去面试了,一轮onsite,一轮电面,一轮HR面。

第一面是去酒店面的,面试官先自我介绍了下(直接拿着百度百科介绍的Orz),是TEG北京这边的一个高级架构师,很认真地给我介绍了TEG北京这边作的东西,以基础架构为主,我仍是挺喜欢的,就跟她聊了下实习的时候写的一个跟这个有关的项目,她也听得很认真,并给了些意见,当时就感受我走大运了遇到一个很nice的面试官。而后给了我一道题,字符排序,她直接说了她不喜欢出难题,主要看代码实现,我也不敢大意,就很是当心地写完了代码,用的计数排序,并且用上了一切能够想到的规范代码的写法,并考虑了全部case,她看完仍是比较满意的,给了我她的微信结束了面试,面试官热情又认真,我的感受这一面面得很舒服。

第二面是电话面试,就在国庆前一天,深圳那边TEG的boss打过来的,先是问了些我的选择问题,问我为啥要投TEG,为啥没投阿里(哈哈,好问题),几乎没问啥技术,我答得也算中规中矩吧,实在没啥能够自由发挥的空间。

HR面就更迅速了,聊了大概20多分钟,就是一些我的信息,研究方向,之后的职业发展,目前有哪些offer之类的。

滴滴(前端转后台岗,offer)

滴滴比较神奇,以前内推投的前端,九月初通知去面试,算是提早批吧,而后一面面试官看了下个人简历,说我作的大部分不是前端的项目,推荐我去面后台,而后就喊HR过来改了个人岗位,我一脸懵逼(OO)?,我还啥都没说呢大哥,更扯的是HR说当天安排不了了,让我回去等通知,我(OO)?,这一等就等到了九月底,厉害了。

国庆节前去面试了,从上午9点一直面到下午6点,大部分时间都是在等,一面都是各类基础知识,很杂,题都记不清了,二面聊项目,用了40分钟好好讲了下本身的一个项目,很爽,三面基本都是听面试官在说,详细介绍了部门的业务,我的以为还ok。

网易游戏(游戏研发岗,offer)

我对网易游戏是有一些情怀的,本科的时候一直是个人dream company,我投的是互娱,笔试加两轮onsite面试。

网易游戏的笔试难度仍是有的,两个半小时5道题,A了4道,前三道水题,第四道是个模拟题,我的对模拟题比较拿手,因此过得还算顺利,最后一道是个与或二叉树,貌似以前在哪见过,不过当时并无写出来。

今年北京这边的onsite安排得很晚,一直到十月中旬才开始面试。过去开始面试以前先要现场用纸写一道题,我那一场是连通份量,因为题很简单并且时间充足,因此能够慢慢写,尽可能考虑好各类case,并优化下代码风格。

第一面面试官会先看下刚刚那道题,若是写的没问题就开始正常面试了。第一面问了超级多C++的问题,除了基础的泛型,多态,STL实现以外,还涉及到一些很tricky的技巧,有些是他工做中遇到的,我以为我答得还算能够,还跟他讨论了一些编译器前端的东西。而后就问了些操做系统和计算机网络的常规题,仍是老一套。终于等到算法题,先是筛质数跟爬楼梯,写得比较快,而后是硬币找零有多少种找法,直接无限背包,而后不让重复,换成了dfs加顺序剪枝,结束了一面。

二面面试官应该是深圳那边的一个技术主管,我觉得大佬面不会怎么问技术了,没想到这一轮全是在作题,一共五道题,总体难度仍是挺大的,第一题是实现一个能够拿到最大值的滑动窗口,比较简单,维护一个单调递减的队列就行;第二题是个并查集的裸题,没啥意思;第三题是凸包,由于我不是图形学方向,因此我写了个向量叉积的伪代码大佬表示还ok;第四题是个数学题,等几率在一个圆里面分布点,我想了挺长时间的,最后想了个先随机角坐标再随机半径开根号,他满意的,让我证实等几率,数学渣表示我不会证啊T^T,只说下了用向量密度敷衍了事;最后一题还剩5分钟,是个系统设计题,是他们开发中遇到的,大并发实时排序并求每一个人的排名,我说了个改进红黑树的方法,他好像不是很满意,时间不够就结束了。这一轮面试虽然题不是特别难,可是全程无废话,一题怼完再来一题,爽爆。

网易游戏的效率挺高的,周末面完周一直接让去现场领offer,过去发现北京这边的诸多知名大佬们相聚一堂,商业互吹,互相打听各家offer,充满着快乐的气氛( ̄. ̄)

百度(后台研发岗,offer)

百度没有走内推,笔试加三轮技术面。

笔试很水,面试跟网易游戏同一天,并且都是周六上午,因此果断先去面了网易游戏,下午去百度的时候见识到了什么是人山人海 (⊙ˍ⊙),领到编号是9,发现周围的都是500开外,这一上午面了500人?(⊙ˍ⊙),抱着重在参与的心态去食堂面试 ,第一面面试官很奇怪,我手写了两道水题后一直在本身电脑上疯狂打字,让我等等,中途看我没事干以为有点尴尬就又出了两道水题,让我慢慢写,我写完他还没打完,我兴趣大跌,就乖乖在那等他敲完了字,结束了这一轮,第二轮很普通没啥说的,第三轮面试官除了问技术还问我怎么看待百度的负面新闻,好尴尬 (⊙ˍ⊙)

华为(云计算岗,offer)

玄学招聘,不少人吐槽,我面了两面,原本是当天最先那批,结果第二面等到了下午4点,中途还跑出去面了个搜狗,两轮都是以聊人生为主。

搜狗(搜索研发岗,offer)

没有内推,笔试+三轮技术面+一轮HR面。

第一轮没啥说的,四题AK,题都是面经里的常客。第二轮因为水题写得比较快,面试官问了个挺有意思的题,杨氏矩阵(行和列都是有序的矩阵)找数,最快能够O(m+n)这没啥说的,怎么设计test case能保证最坏复杂度的查找,我想了挺久,面试官提示考虑两个相邻对角线,我恍然大悟,而后拓展到三维杨氏矩阵怎么设计case,那就是考虑跟主对角线垂直的剖面了,挺好玩的哈。第三轮系统设计,面试官全程在忙本身的事,这种感受很很差,因此我也敷衍了事。HR面聊了不少,互相交换了很多信息。

国内创业公司

依图(offer)

由于上一届学长拿到了依图的offer,给得挺吓人的,因此就想看看他家的难度,四轮技术面,应该是我面过的公司里难度最大的,感受遇到了整个上交ACM队Orz。

第一面是给个加权二叉树的中序找最大加权后序,当时脑子短路说了个Catalan暴力,面试官笑笑让我没关系张,幸亏没短路过久,发现是个区间dp的题,而后就顺手写下了递推公式,面试官挺满意的,不过由于要找最大加权后序自己,因此仍是得写成top-down+memo,写得仍是挺快的,这一轮算是开始进入状态吧。

第二面直接就是大佬面,由于大佬有事要先离开,因此提早面我了,大佬是原阿里云总架构师林晨曦大大那一系的,在google总部呆了三年回来在阿里云呆了八年,在分布式工程领域的造诣真的让我叹为观止,很是厉害,跟我聊了好多好多,从技术聊到人生,还有不少阿里云的前程往事,就跟听故事同样,很过瘾,着实让我大开眼界,跟这样的大佬聊天真是一种享受。

第三面回归正常算法怼题,我还没从上一面大佬的精彩分享中回过神,就被问了个二维矩形面积并的题(似曾相识),由于以前重点练过线段树,因此写得比较轻松,面试官挺满意的,就说咱们不聊算法题了,我觉得要开始聊人生,然而小哥笑着问我19世纪怎么测光速,嗯(O_O)?,这是在考我历史?仍是物理?不过感受挺有意思的,就开始回忆初高中物理课本,然而回忆了半天发现之前学的早忘光啦(╯°□°)╯︵┻━┻,因此只能用我那点可怜的天文知识开脑洞,他听我瞎扯了半天越说越不靠谱,就说能够用齿轮测法,好像高中物理确实学过,然我让我估算了下各类距离和转速结束了这一面。

第四面继续怼题,手写hashtable链表实现,讲了下莫队算法原理,而后出了一道ip地址掩码匹配查询的题,典型前缀匹配,我用Trie写的,他让我优化到4次查询,就是按字节查,而后存最后不匹配的全部可能状况,这一面难度挺大的。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------