国内找美国SE职位经验分享

avatar 92898
sherryweihao
2158
3
本人国内硕士在读,明年毕业。今年找工作基本告一段落,在这里想要跟大家分享一些求职面试的准备过程和体验心得,希望能对有兴趣找北美SE工作的朋友有所帮助,顺便也希望能为明年的工作签证积累些rp。。。

简单介绍下自己,国内硕士,F,本科才开始coding,没有很牛的publication或者竞赛经历。曾在一IT企业实习过一段时间,有一些research和engineering的经历。

今年的计划是直接申请美国的SE职位或者申请美国的高校。上半年把全部经历都放在了考GT上面,找工作没怎么花时间准备。6月中旬开始准备找工作,但是心里没底也不知道具体难度,于是抱着试试看的态度准备尝试一下,想着至少能积攒一些经验。国外的公司我找人内推了Facebook、Google、Amazon、Yahoo、Microsoft、Twitter,其中只有Facebook和Google给我安排了面试的机会。国内的公司我找了阿里,Hulu北京和Yahoo北京。下面我大致以我面试的时间顺便介绍下我的面试经历。

=================FB=================
Facebook我是通过在SF实习的同学内推的。Fb的recuiting team效率很高,过了两天就给我发了一些followup的邮件。HR首先通过skype告诉了我一些recuiting的细节,然后和我商量时间并安排了一轮电话面试。
Phone Screen: 面试时间是9月初,我的电话面试官是一个fb infrastructure team的engineer,对方非常nice。面试的过程首先是简单介绍一下自己和自己做过的一个项目,要求思路比较清晰,能让对方理解。顺便还要回答“why facebook”这个问题。然后就是coding的环节,对方会提供一个collabedit链接,然后我开始敲代码让面试官能同步看到。电面这个环节的题目我遇到的都是网上比较经典短小的题目,例如正则表达式、max drop、遍历二插树等。相信大家只要把Leetcode上面的题目过一遍应该都没问题。注意其中会有一些关于基本testing的要求,并要求一定的代码改写能力。对于一道面试题,面试官要求我想一些test case,并给了我一个test case让我人肉模拟下程序的运行结果(比较简单的)。另外一道面试题面试官要求我将代码的一部分由循环改成递归。最后的环节是对面试官提一些问题。这里大家最好提出一些和technical相关的问题,不要提recuiting、薪资方面的问题。
电话面试后过了一个周末收到了HR的邮件,告知我通过了电话面试可以直接onsite。但是国内的batch onsite都被安排到了国庆节的时间,地点是在北京。所以9月份就开始处于准备面试、投其他公司的状态了。
Onsite Interview:10月初在北京进行了onsite面试。面试一共有三轮,其中两轮纯算法面试,一轮behavior面试。由于签了NDA在这里不能透露具体的题目。面试coding在白板上完成,两轮纯算法面试中我都只做了一道题目。每道题目的复杂度都比电面的时候高很多,都要求比较快速、完善地想出解题思路并写出清晰的代码。有些题目开始的时候还没有什么思路,经过面试官提醒才渐渐有了点。程序上的话需要写3、4个函数才能解决。可能是第一次全英文的onsite面试,加上比较紧张,写出的bug比较多(后来回学校的路上肠子都悔青了T-T)。Behavior那轮的面试相对简单,问了一些background、communication的问题,加上一道简单的coding题目。
总结:onsite面试一周后Fb出了结果,被拒了。。。今年fb在国内的headcount好像非常少,我们这轮好像只招了个位数的人(当然我是挂掉了)。不管结果怎么样,过程还是很smooth的(除了用全英文面试的时候口语出翔T T)。要准备fb的面试,我觉得网上刷题还是很有效的做法。fb的面试题我最后在网上都找到了原题或者变种。但是平时自己练的时候有些就在脑子里过了一下,没有仔细去想过很多细节,面试的时候就比较悲剧。还是建议大家以后多在notepad++里面多敲敲代码,想想具体思路。平时可以多刷刷Leetcode,careercup和glassdoor。

=================国内职位的几家公司=================
国内我主要面了下阿里、hulu(北京)和yahoo(北京)。

阿里:阿里我是先参加了一轮笔试,接着第二天是三轮面试。前面两位面试官都是做search algorithm的,面试的题目有很多与text mining、machine learning相关。有道题目是给一些history record,让我设计一个排序算法做推荐。然后是一些基本数据结构的知识,包括sort,search,heap等。最后还做了两道题目,都是Leetcode上面比较简单的。第三个面试官是做广告的,让我设计一个比较复杂的系统(没这方面经验,所以老是问他怎么处理),然后聊了些想做什么,他问他的team我想不想去之类的。最后做了道简单的coding题目就o了。

hulu:hulu是我面试最舒服的一家。hulu的onsite面试总共是4轮,其中三轮算法面,一轮design面。算法主要还是包括sort、search和树的遍历,还有一些比较巧妙的brain teaser题目。面试过程中要主动跟面试官交流,在适当的时候他们都会给面试者一些提示的。

yahoo:yahoo我是参加了一轮笔试,在半夜被打电话通知参加第二天的面试(室友肯定被吵醒了,恨死我了T-T)。onsite面试也是总共四轮,前面两面是基础的算法、数据结构面试,内容涉及了一些基础的数据结构、算法,以及并行程序设计(我被问到了map reduce,还问了map reduce的data distribution怎么做)。Coding的题目还是比较基础的,很多是CtCI上面的原题。不过拿到pow函数的题目面试官要求我用循环写,这个难倒我了好一会。其他几道coding题我都做得比较顺手,有bit manipulation,list operation和random number的一些操作。第三面除了coding面试官着重问了os、network和programming language的很多细节。。。这一面我觉得比较尴尬,基本上是问一个我不会一个。。。很多时CtCI上面的题目,当时看太久加平时没用就不记得了/_\

=================GG=================
Google:我在9月中旬找美国的学长内推的,一周后HR联系我说等到10月份来校招时直接onsite。onsite经历了一周,一共面了4轮。这里也由于签了NDA所以不便透露题目。与fb非常不同,gg的面试题没有在网上能直接找到的。我觉得应该是面试官自己做了一些修改,但是题目都不是特别难。除了coding的准确性,我觉得gg也非常注重对问题的框架思考能力、边界条件的考虑、和面试者的交流能力。这一点上我觉得gg是严格follow了CtCI里面的一些准则。很多题目我都没有严格写完code,面试官告知我写一些pseudo code是没问题的。至于题目的话我觉得还是考了一些基本的数据结构和算法知识,比如string、graph、DFS、sort等,还有一些对编程语言、操作系统底层的知识的掌握程度。Google的面试官们也非常的nice,最后的提问环节technical questions比较受欢迎。

=================面试准备=================
在这里我share一下我的准备资料和过程,希望能对大家以后准备找工作有一些帮助。

时间:我认为第一次找工作(不是acm等竞赛达人的话),应该留出2-3个月的时间充分来准备。这个期间要首先对data structure和一些基本的algorithm进行复习和总结,然后就是每天定时定量地做一些网上大家share的题目。最后在面试过程中不断积累经验,就能发挥的越来越好。

书籍:如果是对data structure不太熟的话,我建议大家可以读一下princeton大牛Mark Allen写的经典数据结构的教材 “Data Structures and Algorithm Analysis in C++”。这本书很好地帮我回顾了一些基本的数据结构和算法设计知识。同样一本经典的书籍“Cracking the Coding Interview”相信也在网上广为流传,这本书我是在后面才看的,其中对数据结构的介绍比较捡重点,不过有很多很好的面试建议和例题这本书我也非常推荐。我还扫了一本叫“Algorithms For Interviews”的书,作者是Adnan Aziz和Amit Prakash,里面的题目颇难,大家有空也可以看看。

网站:Leetcode相信都不用说,是一个很好的模拟面试coding的网站。不过最近新的版本出台也加入了不少智能缩进等功能,推荐大家平时还是多在notpad++或者白板白纸上多写写code。CareerCup和Glassdoor也可以看看,不过这些网站上的题目10道有8道都有些描述不清的问题。不过其中确实包含了不少面试真题。如果能把这些都刷过了,还可以去看看Interview Street和Codeforce。平时coding可以多练练dp的题目(虽然我这次面试基本没遇到要求dp求解的题目,但是dp确实比较难,一旦遇到难搞定)。

本人最终签了gg,只有这么一个选择嗯。。。在这里我就先分享这么多经验了。大家有问题的话可以回复这个帖子~^-^
  • 6
3条回复