国内程序员怎样竞争 Google 总部的工作机会,需要满足哪些条件?
如果已经具备美国工作权利并且英语过关(不耽误沟通问题)的话,直接找人内推然后面试,如果学校不好或者不认识谷歌正式员工的话,估计需要先在普通公司攒经历跳槽,当然,有各种编程竞赛奖项的大神们可以直接投,还是可以脱颖而出的!如果具备工作权利但是英语不过关,那么去学英语…总部还是需要基本英语的,就算工作不用,生活也用…不具备工作权利的话,就基本意味着公司要多花一些钱在给你办签证上,所以要更优秀才行!直接去总部可行,靠抽签~也可以现在北京,其实总部地方大transfer总是会有组要的~当然,以上都建立在基本技能够可以通过面试的基础上…但是好像也不太难…刚刚在北京谷歌实习两周,希望未来十周顺利,攒个人品~外系研究生在读转行,不破五百赞不取匿,因为就不想实名,被发现就惨了…
作为同期noogler也来说两句。不管怎么样首先要会写代码,白板上写代码一次性bugfree对于大部分参加校招的学生来说还是略有难度的。然后最好有做过一些开源的项目,面试官问起的话绝对能够增加好感度。还有就是积累知识的广度,了解各种算法在实际工程中的应用,这样面到设计问题也能给出较优的数据结构。最后如果是妹子应该会容易点…吧…顺便原来因为我选的面试语言4轮都是Java所以毫无悬念的swe吗…
从我所接受的校招面试来看,Google面试考察的主要有:基础的算法与数据结构;基本的设计能力;基础的数学知识;扎实的编程能力;沟通能力。我没有遇到操作系统、网络、设计模式、语言细节等具体的知识,主要是算法题。题目也不会太难,从ACM-ICPC的角度衡量的话,都是“水题”,比较考察基础。不过太纯粹的ACMer我觉得也不容易过。因为面试官可能会让你证明一下算法正确性、分析一下算法复杂度、设置一个场景让你设计合理的数据结构和算法,并要求根据实际需求进行tradeoff、看一看你的代码是不是clean等等。只会刷题的ACMer我觉得容易在这些地方卡住,不过也许你可以在面试前学一学,做做面试题,做做模拟面试,训练一下。再特别地说一下,这里说的编程能力也就是白板/googledoc写code的能力。对习惯裸敲的ACMer来说应该问题不大,没玩过ACM-ICPC的大概要训练一下。至于沟通能力,就是说在面试过程中最好keeptalking,想到什么就说出来,题目不清楚的地方就问。听完题目一言不发就默默地把代码写出来,这听起来很酷,但是不会加分的。
还有一条路如果现在实力有点不足可以考虑申请国外的研究生像cmu有很多面向就业的专业还有usc之类的学校都不难申时间只有一年或一年半比较短而如果在cmu这种学校毕业基本能靠学校名声或者校友内推拿到一个面试机会面试就是其他人说的刷leetcode和各种面试题以及自己的英文能力能顺利沟通就好了
不知道题目指的是社招还是校招?我就只说一些我知道的,偏向校招来说。最重要的一点:在这两年,由于总部的码农需求量增大,去总部是比去中国分部要容易的。首先面试并不是全部用英文的,有其中一面用英文考察一下,发现你过关就可以了。然后关于H1B抽签的问题,抽不中也没所谓。因为Offer是在抽签之前就签好的,抽签不中可以先去其他国家parking一年,再转L1签证去总部。L1是不用抽的,所以可以保证能去到。至于Python的问题,我面试全程用Python,到最后一面面试官说:“你怎么老用Python,这次用点别的吧。”“那我用Haskell吧”...开玩笑,当然是不能这样说的,于是我就有一面用C++写了,其他都是用Python的。所以说,你用什么语言其实是关系不大的,主要要考察的是你解决问题的能力。然后说说需要满足的条件,社招的话其实我不太清楚,但是一下几点是必须的:面试题要刷够沟通能力,要从面试官口中套到更多细节。编码能力强,最后能有思路后一次写成,保证速度,且没有涂涂改改。另外,估计由于是用Python的原因,我被分去了当SRE(SiteReliabilityEngineer),也就是运维开发,题主看着办吧。
回答请先登录