Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

【面经 + 感想】拿到谷歌等公司实习offer

rgvb178 2019-02-23 16:38:00 阅读数:422 评论数:0 点赞数:0 收藏数:0

******** 未经授权,请勿转载 ********

******** 未经授权,请勿转载 ********

******** 未经授权,请勿转载 ********

 

今年北美谷歌Software Engineer Intern的招聘流程主要是:

投简历 - 做OA - 背靠背电面,共两轮面试 - Hiring Committee(HC) - Project Search(这里可能会有几轮intern placement interview) - Offer approved

 

【投简历】

这一轮最好在前一年的7月进行,比如我要找2019年summer的实习,那么最好能在前一年的7月就找到学长或者学姐内推。如果投得晚了,很容易出现的一个情况就是project都被match得差不多了,那么即使你能过得了HC也没有太多project剩余了,这时候如果你match不到project,那么也没有办法拿到offer。投简历这关能找内推就尽量找内推。

这里推荐一个会议叫grace hopper celebration,很建议女生去参加,每年在这个会议上会有三天的career fair,会有很多公司去招人,基本上google facebook linkedin 微软这些公司都会去,拿到面试的概率很高。除此之外,你还可以听到很多人分享她们的故事。

简历上写什么?在北美一定不要放的是:照片、生日、婚姻状况、性别这种乱七八糟的东西。HR过你的简历用的时间一般不会超过45秒,所以对于找技术实习的人来说,最重要的是:学校、专业、学位、预计毕业时间、过去的实习科研经历。除此之外还可能看的部分是:GPA(一般来说3.0+就行),做过的项目,打过的比赛(ACM, 信息竞赛, Kaggle),开源项目贡献,拿过的课程,github,skills(编程语言、框架)。

 

【OA和电面】

今年谷歌实习生招聘有OA一轮,电面两轮,主要考察的内容还是数据结构与算法,包括算法的设计与算法的分析(主要是时间复杂度和空间复杂度),基本不会出现系统设计。写题可以参考leetcode,把leetcode题做到500+就会相对来说比较稳,当然这是因人而异的。但是写leetcode题要注意的一点就是,不能死写,不能死记硬背,要知道解法是怎么来的,要自己能分析出自己设计的算法的时间和空间复杂度,以及思考有没有提升的空间。刷算法题的时候还要注意总结规律,举个例子,比如说linked list里面,最容易出现的问题之一就是对头节点的处理,这个时候一般要怎么处理?这些小细节都是需要总结的。

另外,谷歌电面的代码都是在Google docs上写的,这跟平常我们用的编辑器可能会很不同,所以建议要提前适应不用IDE、而用google docs写题的感觉。

除此之外,据说电面的代码是要提交给HC看的,所以代码规范非常重要。所以如果平常写代码不遵守代码规范的,这一部分可能要吃很大亏。因此我会建议平常刷题就应该遵守自己写的编程语言的代码规范,比如我写Python,我就会搜类似“Python风格规范— Google 开源项目风格指南”的文章去阅读,包括我在平常写课程project的时候我都会注意到这些代码规范。此外我列了一些值得注意的点:

  • 保持代码的整洁,比如尽量少出现一个function中有很长很冗杂的代码,这样做一是别人看起来易懂,二是自己不容易思维混乱。
  • 保持代码的可读性,比如命名是否meaningful。
  • 代码是否能够handle edge case和异常输入,这个地方可以跟面试官先确认,输入是否都合法,如果不合法要怎么处理。

面试的时候需要注意跟面试官的沟通,尤其是思路卡住或者是想优化解法的时候,面试官的每一句话可能都是一个潜在的hint,面试官给hint我们就要接住hint。有一个常见的误区就是以为解出题就能过面试,但是其实并不是这样的,面试是一个综合考察,包括你的表达能力、别人是否想与你一起工作。面试如果实在想不出优化解法,那么最差最差也要把暴力解法写出来。如果想写优化解法但是时间又不够写完优化解法,一定不要把之前写的暴力解法删掉,因为至少要保证有一个可行解法在你的google docs上。

 

大部分公司技术面最后都会有个提问环节,你可以问面试官一些问题,这是展现你技术热情很好的时机。这个时候要问的问题一定要是事先准备过的。千万不要在这个时间问面试官给你什么feedback,因为在很多公司这是不允许的。我面某H开头的公司的时候,很快就写完题了,然后就到提问环节了,刚好面试官组里在做的东西我有经验,聊的很开心,隔天hr就打电话来说过了,然后没多久就发了offer。所以建议各位还是要精心准备一下这个环节的。如果以前没有参加过英文的技术面试,正式去面试前可以至少找人mock interview 3次。

 

【一些感想】

最后说一下我的背景,我在美国某校读大三。秋招我投了100+个公司,最惨的一周邮箱里疯狂收拒信。写下这篇blog是因为几天前我看到自己2017年初刚到美国的时曾给自己的定下的目标。然后我突然就想,为什么不分享一下这段经历呢?也许就能给跟自己经历相似的人一点勇气去坚定做自己喜欢做的事情了呢?我参加过高考,休过学,退过学。我本科的第一个专业并不是计算机也不是数学——因为我的家人一开始并不理解我,他们觉得我作为一个女生,就不该去学理工科的专业。在我的第一个本科学校,因为这个原因我经历过中度抑郁,休学,跟家人发生的激烈矛盾,也无数次想过自杀。还好我一直没有放弃自己真正喜欢的事情。这两年来,我觉得自己的一些想法其实潜移默化地对自己产生了一些影响:不止步于课内,去积极主动做更多:实习、科研、读相关的技术书籍、写算法题、自己感兴趣的项目、去上比较有难度但有价值的课、参加各种专业相关的比赛和活动,我来到美国后一直在努力让自己的每一个暑假不被浪费。我平常会看一些技术类的书籍,里面会经常有很多很有意思的东西,一方面拓展了我的知识面,另一方面改变了我思考问题的方式。很多事情做的时候看起来并没有什么特别的,但是会在之后某个关键节点给我帮助;对自己的专业抱有热爱、激情与执着: 坚定而且热爱自己所做的事情,不怕失败,敢想,敢做。有很多人找实习投了10个公司,收了5封拒信,就没有再投了。其实99个公司拒绝了你都没有关系,只要有一个要你了,就可以了。永远要敢于为自己争取机会。

 

最后非常感谢秋招一路上帮忙的学长和朋友,也感谢之前实习的公司里所有人的帮助,祝大家2019年找工顺利。有问题欢迎在评论留言,我会尽力解答~

 

******** 未经授权,请勿转载 ********

******** 未经授权,请勿转载 ********

******** 未经授权,请勿转载 ********

版权声明
本文为[rgvb178]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/rgvb178/p/10422161.html

编程之旅,人生之路,不止于编程,还有诗和远方。
阅代码原理,看框架知识,学企业实践;
赏诗词,读日记,踏人生之路,观世界之行;

支付宝红包,每日可领