当前位置:龙泉人才网 - 人才百科 -

谷歌公司招聘要求(怎么才能快速入职谷歌)

  • 人才百科
  • 2023-04-01 15:00
  • 龙泉小编

文/本人师兄

请勿转载,谢谢!

我在刚进入研究生学习阶段的时候,正好赶上师兄研究生毕业找工作。看着这3位师兄大佬,一边畅谈面试心得,一边晒着offer里面亮眼的工资,心里真想着早点毕业赚钱。况且,这3位师兄中的一位相当厉害,成功收获谷歌、微软、网易游戏等offer,令人相当羡慕。在导师的强烈邀请下,他为我们分享了很多经验,对大家也很有用,所以整理出本文(注意,下文中“我”指这位师兄)。

面试经历

我的求职经历从9月份开始,先后笔试面试了阿里(面试挂)、腾讯(offer)、百度(笔试挂)、网易游戏(offer)、微软(offer)、微策略(放弃面试)、思科(面试后至今没任何消息)和谷歌(offer),最后选择了谷歌。再往前在找暑期实习的时候面了3家分别是NI、腾讯和微软,其中NI和微软都给了offer,然后在暑假去微软实习了3个月。

下面首先介绍下拿到offer的几家公司的面试情况。

首先是微软,在找暑期实习时,共做了1轮笔试+3轮面试,实习转正则是4轮面试。微软的笔试基本都是选择题,考的东西比较杂,从算法、设计、操作系统、编程语言等各方面都有涉及,但不会像腾讯等公司的笔试那样考特别教科书式的题目,而且微软的笔试选择题做错是要倒扣的。微软的面试,主要考的还是白板写代码的能力,也就是算法题,另外我也有碰到问C++语言细节/实现方法、设计模式、多线程处理、偏数学的智力题等题目,总体而言问什么题还是要看面试官,当然每轮肯定都需要白板写代码。

网易游戏,则是1轮笔试+2轮面试,笔试题量很大,题目内容包含的范围也很广,也包括很多需要写代码的题。面试虽然只有2轮,但每轮都问了很多题,主要是问一些C++的语言知识还有算法题,算法题则需要在纸上写代码。

腾讯是1轮笔试+3轮面试,腾讯的笔试题考的偏基础知识,类似本科那几门课背后的习题,由于涉及到很多知识的细节,时间久了很容易忘记,所以笔试前需要复习下,特别是看看往年的笔试题,会很有效。因为我简历投的是后台开发,所以问的东西也主要是C++的知识,包括linux下的一些东西,当然也有纸上写代码的题。

最后是谷歌,包括1轮在线笔试,5轮技术面试,2轮team match的面试。我这次面试流程的时间跨度比较大,笔试是在10月份进行,11月底进行了2轮面试,1月中旬再进行了3轮,最后通过了前5轮的技术面试。谷歌国内的职位在通过技术面后需进行team match的流程之后才会发Offer,所以我在1月底和2月底分别进行了两次team match的面试,第一次失败,第二次成功后,3月初发了offer。谷歌的5轮技术面主要还是算法和设计题,基本每轮2道题左右,我也有碰到一个面试官问C++、Java语言相关细节的小题,代码可以选择在纸上写或者在Mac上的google docs里写。5轮的面试反馈最终会提交给HC(hiring committee),让几个比较资深的工程师根据面试官给你的反馈以及写的代码(所有纸质、google docs的代码都会保存下来)来打分,决定是否通过技术面试。HC通过后,可以选择工作地点,我因为倾向留在上海,所以后面就开始等team match的机会。Team match就是某一个team的manager想要招人时,会从通过技术面的候选人中,挑人来面试。team match的面试主要是问一些候选人的项目(技术)背景,看是否和他所在组做的东西匹配,也会问一些比较宏观的问题,包括平时是如何写代码、设计等,也有一些行为面试的题目。

如何准备面试

IT的技术性面试,主要包括几个方面:

  1. 编程语言的细节
  2. 算法题
  3. 设计题
  4. 其他包括操作系统、数据库等知识

像微软和谷歌主要就是考察2,3类的题,国内的公司偏重1,4类更多。

首先编程语言的知识,我觉得首先需要多看书,像C++的话可以看一下effective c++, exceptional c++, effective stl,C++应用程序性能优化等系列,面试的问题很多是我们平时在编程容易忽略的一些细节知识。另外在平时写代码的时候,根据这些书里的意见,养成好的编程习惯,比如c++里该用const的地方,尽量用等,这样最后面试写出来的代码也会比较规范。另外平时写代码的时候,尽量不要用IDE的代码提示或者直接用vi等编辑器,记住c++ stl里容器、算法的名字、用法等,这样面试时在纸上写代码时会得心应手

其次是算法题,由于这类题都需要直接写出代码所以很考验编程基本功。提高这个能力,就需要多做题,虽然我没有参加过ACM,不过在保研之后那段时间在POJ、topcoder上刷过大量题,通过刷题可以巩固数据结构、算法书上的很多知识。另外刷题我觉得更重要的不是说你掌握了多少算法,而是通过不断的想问题、写代码、调试程序,可以养成比较好的编程习惯。在写代码之前一定要先理清楚自己代码的思路,写出来的代码应当尽可能逻辑清晰、简洁。面试的时候我觉得代码最好能一次正确地写出来,否则在纸上或白板上涂涂改改最后不仅思路混乱而且容易给面试官留下不好印象。另外,写代码的时候碰到递归、循环迭代等的时候,要有计算时间(空间)复杂度的意识,看看会不会出现死循环,栈溢出,计算超时等问题。由于POJ上面的题,很多时候不通过的话就是在边界条件上出了问题,所以刷题多了,也能养成良好的检查边界的习惯。此外,对于快速应付面试的话,像编程之美,剑指offer,Cracking the Coding Interview这些书也都不错,另外有一个网站leetcode则是专门用来刷面试题的,特别适合准备面试。还有在面试写代码的时候,对于输入参数的检查,异常处理等也很重要,另外包括代码的命名规范等细节也应尽可能做好。

谷歌公司招聘要求(怎么才能快速入职谷歌)

设计题的话,一方面可以看下CareerCup网站的一些面试设计题,看看大概的回答思路,其次就是一些类的继承关系的设计、设计模式等的应用。这方面的话,可以看看经典的GOF的设计模式那本书,还有包括设计模式沉思录等,另外在平时使用一些现有库的时候,多想想别人为什么这样设计,应用了哪些设计模式。在平时做项目的过程中应当有意识的进行代码重构并在其中使用一些设计模式,这样可以加深对设计模式的理解,而且在面试聊项目经验的时候也可以和面试官扯扯这些东西(因为项目的东西,很多时候面试官不懂你做的东西的具体实现细节,但设计模式大多数面试官都知道,然后可以和你探讨一下,本身用设计模式也能说明你写代码比较有经验,给面试加分)。

最后是一些计算机中比较杂的知识,这些可以通过看看往年的笔试/面试的题目,基本考察的点都差不多,临时温习也比较快。

除了以前4点,在面试前,包括纸上写代码、白板写代码等都可以花点时间训练下,这个感觉和平时在电脑上写还是很不一样的。另外针对外企面试中可能出现的英文面试(我谷歌有2轮是英文面),可以在平时多看一些英文的书,包括算法类和编程语言类(像上面提到的effective系列,图书馆都有英文版的书),至少一些关键的技术词汇对应的英文都要知道,因为很多时候需要用英文解释下你的代码,平时在写代码的时候也可以尝试用英文表述下你的解题思路和代码流程,否则面试时候很可能无法和面试官沟通。

最后,我(非师兄)想补充说明一下, 谷歌的招聘渠道不是校招和投递简历,而是在Google CodeJam这个刷题网站(https://codingcompetitions.withgoogle.com/codejam)上参加编程比赛,拿到比较靠前的排名才会有面试机会(例如,前50名?)。另外,如果有在谷歌工作的朋友,可以让他帮你推荐,这样不就必参加比赛了,不过每轮面试还是都有算法题的。

免责声明:本文内容来源于网络或用户投稿,龙泉人才网仅提供信息存储空间服务,不承担相关法律责任。若收录文章侵犯到您的权益/违法违规的内容,可请联系我们删除。
https://www.lqrc.cn//a/rencai/3395.html

  • 关注微信
下一篇:暂无

猜你喜欢

微信公众号