nnd 我的ink 还在review# Money - 海外理财
z*x
1 楼
http://blog.yxwang.me/2012/12/job-hunting-in-usa-2/
## Google
Google 面试也是托学长推荐了。HR 说我的简历看起来很不错,先给我安排了两轮电面。
电面都和 coding 有关,面试官会给你一个 Google Docs 链接,在电话里描述题目后
要求你在 Google Docs 上写程序。题目的难度不高,两轮一共四题,都是对基本数据
结构的操作,例如给在一个未排序的数组中去掉重复的数字,还有把一个有序数组转成
一个平衡二叉搜索树,在一个已排序但有重复数字的数组中查找元素等。
第一轮电面聊天的时候还发现第一轮的面试官是在 ITA Software 做的。正好前几天用
他们的产品 [Matrix Airfare Search]http://matrix.itasoftware.com/ 订到了低价的去土耳其的机票,过了一星期神奇的在面试的时候碰到了这个团队的工程师。当时一下子就兴奋起来,聊了不少和 Matrix 的有关的话题。这位面试官听说中国的机票也能用他们的平台查询,还挺吃惊的。他还提到他们原本想把计算任务放到 Google 内部的计算框架上,但是由于和合作方的合同的限制,没法把一些商业数据放到 Google 的平台里,只能继续用原有的计算引擎。
第二轮电面的面试官是位印度人,虽然我很难听懂他的口音,但是他很耐心,会和我重
复描述问题,所以题目做下来也没啥困难。在和他的聊天中得知他除了正业(Youtube
)外还在闲余时间研究机器人。
电面结束后第二天收到了 HR 的邮件,邀请我去总部面试。由于当时已经是九月底了,
而我十月初打算去土耳其玩两星期,于是只能从土耳其回来后开始准备签证了。Google
的 HR 非常热情,每次回邮件都很及时,经常能在加州时间晚上十一点左右收到她的
邮件。她帮我弄来了 Google 的面试邀请信,顺利的过了签证面试。之后另一位 HR 还
帮我订好了从上海往返 San Jose 机场的机票,以及三晚的住宿(因为考虑到我需要倒
时差,多了一晚住宿,这一点也很体贴)。
Google 给我安排的住宿是 Wild Palms Hotel,在 Sunnyvale。不愧是硅谷的旅馆,每
天早上起来吃旅馆的早饭,都能听到有人讨论 Java。在 Sunnyvale 的第二天我坐公共
汽车到处逛了逛,考虑到接下来要在加州玩一圈,就办了张 T-mobile 的一个月电话卡
(60 美元,包括不限量的短信、通话和 3G 流量,但是这家的信号非常差)。这家旅
馆和苹果总部也很近,出门有公交车直达,作为半个果粉自然不会浪费这个机会。
第三天在 Google 工作的学长开车带我去了公司。Google 的园区里有不少免费自行车
,没有锁,直接就可以骑。我在 Google 商店买了点礼品,在园区骑车转了一会儿后就
开始面试了。
面试一共有四轮,每轮 45-55 分钟,中间有 5 分钟的休息时间。中午会有 Google 工
程师带你吃饭。带我吃饭的 Google 工程师也是中国人,了解到这点后我们就知道用中
文聊天了。吃饭时间里了解了不少在 Google 工作的优缺点,也一定程度影响了我之后
做的决定。
由于签了 NDA,没法在这里透露具体的面试题目。面试主要都是算法题,比电面难一点
。除了算法题外我还被问到一个分布式系统的设计题,以及一个多线程相关的 coding
题,后者用信号量很容易解决。其实如果能和面试官好好交流,这些题目做出来应该是
没啥问题的。
面完第二周 HR 通知我拿到 offer 了,打电话告之了 offer 的具体细节。Google
offer 的邮件附件还包括一份各项福利的介绍,着实吸引人。我还记得 HR 打电话来的
时候我正好在三藩 Exploratorium 边上的小湖旁,在湖边美景中听到这样的好消息自
然分外兴奋。HR 还告诉我没有限制我的签约时间,可以在任意长的时间后再做出决定
,也算是 Google 非常体贴的地方。另外具体的职位会在入职前一段时间决定,HR 的
说法是可以根据自己的喜好在一些项目之中选择。
## Facebook
我在今年三月份投过一次 Facebook 的暑期实习,被告之已经招满了,接下来校招时会
再联系我。七月份的时候我又在网站上投了一次开发职位,还麻烦一位在里面实习的学
长帮我内推了。八月一位 HR 联系我安排第一轮面试,电面安排在了九月。
Facebook 的 HR 也很负责,她在电面前几天打电话和我聊天,介绍 Facebook 的基本
情况,以及面试流程。第一轮电面结束后的情况分三种,如果面试表现很不错,那就直
接获得了 onsite 的机会;如果面试表现一般,面试官不确定要不要,就会再加面一轮
;如果面试表现不好,就可能直接被刷了。除此之外 Facebook 的 HR 比较体贴的一点
在于给中国人安排的第一轮面试官很有可能也是个中国人,降低了语言上出现问题的可
能。
HR 的电话里还提到 Facebook 入职后有六星期的 bootcamp,可以熟悉各个项目和团队
,具体的项目是 bootcamp 结束后自己选的。问了一下在那工作的朋友,做出的选择一
般都会被满足,因为 bootcamper 的选择分布还算比较平均的。
Facebook 电面和 Google 差不多,是在 [collabedit]http://collabedit.com/ 上进行的。也是面试官在电话中口述题目,我在网站上写代码。老实说这个网站的体验不怎么样,面试过程中出现过几次我这边写的代码没在面试官那里出现的情况。好在面试官比较有经验,一发现有问题就会提醒我刷新页面。
第一轮电面我做了三个 coding 题,题目都不难,但是要求 bug free。电面的面试官
抓 bug 的能力着实厉害,找出了两个我一开始没发现的 bug。好在他提示说有 bug 但
没指出的情况下,我把它们都修正了。面试题目难度和 Google 的电面难度差不多,都
是对数组、二叉树和字符串的基本操作。第一题是把一个字符串中的 `%20` 都转成空
格,第二题是按层打印一棵二叉树,第三题是找出两个有序数组里不同的数字(类似求
集合的异或)。程序正确后面试官还会问一些优化方面的问题,例如在不同的情形下应
该使用哪一种算法。
面完后第二天收到 recruiter 的消息说我拿到 onsite 的资格了,具体的时间会在十
一月通知我。
Facebook 给我安排的酒店是 Palo Alto 的 Sheraton。酒店门口停着不少出租车,面
试那天的出租车司机还是用 Square 收的钱。onsite 面试那天正好赶上了他们的
University Day。这一天的安排是上午三轮面试,中午吃饭,下午逛一圈公司以及三场
讲座。我的第三轮面试还出了点茬子,面试官一直没出现,HR 只能先带我去吃中饭。
中饭结束后 HR 带着别人边逛公司边介绍,我只能继续我的第三轮面试了。
Facebook 校招时本科生和硕士生是统一级别的,面试只包括算法题,不会有设计题;
而博士生则高一级,面试的时候还会有设计题。三轮 onsite 面试包括一轮 jedi 和两
轮 ninja。jedi 面主要是让面试者介绍自己的项目经历,了解面试者的技术专长和偏
好,不过面试官也让我做了一个简单的 coding 题。ninja 面各有两个 coding 题,题
目难度都不大,和电面差不多。但是与电面不同的是,面试官会深入问一些细节的问题
,例如代码里生成了多少个新的对象,有没有办法优化等,有一个问题还要求我用一种
算法实现后,再用另一种完全不同的思路实现一次。(onsite 面试是签了 NDA 的,这
里就不方便透露具体的题目了)
面试完之后有三个讲座,第一个讲座介绍了 Facebook 总体的工作环境。第二个分产品
和后台两个讲座,同时进行所以只能选一个。我一开始选择了后台开发,不过当时突然
对产品有了兴趣,就去听了产品的讲座。一位负责 Events 开发的工程师结合这个产品
介绍了下 Facebook 内部产品开发的流程,例如新特性是怎么出来的,如何测试等。最
后一个环节是几位刚从 bootcamp 毕业的员工和我们分享他们在 Facebook 中工作的感
受。
University Day 结束后,参加活动的每位学生还收到一个包装精致的礼物。拆开来后
是一块两面分别刻着「Move fast and break things」和「Proceed and be bold」的
玻璃砖。我还是很喜欢这个礼物的,这也一定程度上影响了我最后的选择。
面试完第二天 HR 从我这里要了三位 reference,包括他们的职称和联系方式,接下来
HR 会联系他们询问我的情况。Facebook 的动作也很快,第二周就给我发了 offer。
有意思的是,offer 邮件的 welcome package 最后一页建议面试者在入职前熟悉一下
Unix,还推荐了几篇文章和两本书。
Google 和 Facebook 的 onsite 是在同一星期面的,前后只隔了一天,收到 offer 的
时间也只差了一天。package 方面, Facebook 比 Google 的要好不少,但是 Google
的 HR 说可以 match Facebook 的 offer。去之前我想过如果两个 offer 都拿到,那
就去 Google。但是到了这两个公司,和几位面试官以及在里面工作的朋友深入聊天后
,最终还是选择了 Facebook,因为它规模更小,应该能有更多的锻炼机会。
另外我了解到的 Google 和 Facebook 的面试流程都是先由各位面试官给你打分,例如
分 strong hire / hire / weak no hire / strong no hire 四档(不一定完全一致,
比如可能会多一档 neutral)。同时要写下关于你的面试情况的报告。再接着由
hiring committee 讨论要不要给你 offer,以及 package 如何。有亮点(某位面试官
的 strong hire)很重要,一个 strong hire 和几个 weak no hire 会比平庸的清一
色的 weak hire 好。
(未完待续,转载请注明作者 zellux <http://blog.yxwang.me> )
Google 面试也是托学长推荐了。HR 说我的简历看起来很不错,先给我安排了两轮电面。
电面都和 coding 有关,面试官会给你一个 Google Docs 链接,在电话里描述题目后
要求你在 Google Docs 上写程序。题目的难度不高,两轮一共四题,都是对基本数据
结构的操作,例如给在一个未排序的数组中去掉重复的数字,还有把一个有序数组转成
一个平衡二叉搜索树,在一个已排序但有重复数字的数组中查找元素等。
第一轮电面聊天的时候还发现第一轮的面试官是在 ITA Software 做的。正好前几天用
他们的产品 [Matrix Airfare Search]http://matrix.itasoftware.com/ 订到了低价的去土耳其的机票,过了一星期神奇的在面试的时候碰到了这个团队的工程师。当时一下子就兴奋起来,聊了不少和 Matrix 的有关的话题。这位面试官听说中国的机票也能用他们的平台查询,还挺吃惊的。他还提到他们原本想把计算任务放到 Google 内部的计算框架上,但是由于和合作方的合同的限制,没法把一些商业数据放到 Google 的平台里,只能继续用原有的计算引擎。
第二轮电面的面试官是位印度人,虽然我很难听懂他的口音,但是他很耐心,会和我重
复描述问题,所以题目做下来也没啥困难。在和他的聊天中得知他除了正业(Youtube
)外还在闲余时间研究机器人。
电面结束后第二天收到了 HR 的邮件,邀请我去总部面试。由于当时已经是九月底了,
而我十月初打算去土耳其玩两星期,于是只能从土耳其回来后开始准备签证了。Google
的 HR 非常热情,每次回邮件都很及时,经常能在加州时间晚上十一点左右收到她的
邮件。她帮我弄来了 Google 的面试邀请信,顺利的过了签证面试。之后另一位 HR 还
帮我订好了从上海往返 San Jose 机场的机票,以及三晚的住宿(因为考虑到我需要倒
时差,多了一晚住宿,这一点也很体贴)。
Google 给我安排的住宿是 Wild Palms Hotel,在 Sunnyvale。不愧是硅谷的旅馆,每
天早上起来吃旅馆的早饭,都能听到有人讨论 Java。在 Sunnyvale 的第二天我坐公共
汽车到处逛了逛,考虑到接下来要在加州玩一圈,就办了张 T-mobile 的一个月电话卡
(60 美元,包括不限量的短信、通话和 3G 流量,但是这家的信号非常差)。这家旅
馆和苹果总部也很近,出门有公交车直达,作为半个果粉自然不会浪费这个机会。
第三天在 Google 工作的学长开车带我去了公司。Google 的园区里有不少免费自行车
,没有锁,直接就可以骑。我在 Google 商店买了点礼品,在园区骑车转了一会儿后就
开始面试了。
面试一共有四轮,每轮 45-55 分钟,中间有 5 分钟的休息时间。中午会有 Google 工
程师带你吃饭。带我吃饭的 Google 工程师也是中国人,了解到这点后我们就知道用中
文聊天了。吃饭时间里了解了不少在 Google 工作的优缺点,也一定程度影响了我之后
做的决定。
由于签了 NDA,没法在这里透露具体的面试题目。面试主要都是算法题,比电面难一点
。除了算法题外我还被问到一个分布式系统的设计题,以及一个多线程相关的 coding
题,后者用信号量很容易解决。其实如果能和面试官好好交流,这些题目做出来应该是
没啥问题的。
面完第二周 HR 通知我拿到 offer 了,打电话告之了 offer 的具体细节。Google
offer 的邮件附件还包括一份各项福利的介绍,着实吸引人。我还记得 HR 打电话来的
时候我正好在三藩 Exploratorium 边上的小湖旁,在湖边美景中听到这样的好消息自
然分外兴奋。HR 还告诉我没有限制我的签约时间,可以在任意长的时间后再做出决定
,也算是 Google 非常体贴的地方。另外具体的职位会在入职前一段时间决定,HR 的
说法是可以根据自己的喜好在一些项目之中选择。
我在今年三月份投过一次 Facebook 的暑期实习,被告之已经招满了,接下来校招时会
再联系我。七月份的时候我又在网站上投了一次开发职位,还麻烦一位在里面实习的学
长帮我内推了。八月一位 HR 联系我安排第一轮面试,电面安排在了九月。
Facebook 的 HR 也很负责,她在电面前几天打电话和我聊天,介绍 Facebook 的基本
情况,以及面试流程。第一轮电面结束后的情况分三种,如果面试表现很不错,那就直
接获得了 onsite 的机会;如果面试表现一般,面试官不确定要不要,就会再加面一轮
;如果面试表现不好,就可能直接被刷了。除此之外 Facebook 的 HR 比较体贴的一点
在于给中国人安排的第一轮面试官很有可能也是个中国人,降低了语言上出现问题的可
能。
HR 的电话里还提到 Facebook 入职后有六星期的 bootcamp,可以熟悉各个项目和团队
,具体的项目是 bootcamp 结束后自己选的。问了一下在那工作的朋友,做出的选择一
般都会被满足,因为 bootcamper 的选择分布还算比较平均的。
Facebook 电面和 Google 差不多,是在 [collabedit]http://collabedit.com/ 上进行的。也是面试官在电话中口述题目,我在网站上写代码。老实说这个网站的体验不怎么样,面试过程中出现过几次我这边写的代码没在面试官那里出现的情况。好在面试官比较有经验,一发现有问题就会提醒我刷新页面。
第一轮电面我做了三个 coding 题,题目都不难,但是要求 bug free。电面的面试官
抓 bug 的能力着实厉害,找出了两个我一开始没发现的 bug。好在他提示说有 bug 但
没指出的情况下,我把它们都修正了。面试题目难度和 Google 的电面难度差不多,都
是对数组、二叉树和字符串的基本操作。第一题是把一个字符串中的 `%20` 都转成空
格,第二题是按层打印一棵二叉树,第三题是找出两个有序数组里不同的数字(类似求
集合的异或)。程序正确后面试官还会问一些优化方面的问题,例如在不同的情形下应
该使用哪一种算法。
面完后第二天收到 recruiter 的消息说我拿到 onsite 的资格了,具体的时间会在十
一月通知我。
Facebook 给我安排的酒店是 Palo Alto 的 Sheraton。酒店门口停着不少出租车,面
试那天的出租车司机还是用 Square 收的钱。onsite 面试那天正好赶上了他们的
University Day。这一天的安排是上午三轮面试,中午吃饭,下午逛一圈公司以及三场
讲座。我的第三轮面试还出了点茬子,面试官一直没出现,HR 只能先带我去吃中饭。
中饭结束后 HR 带着别人边逛公司边介绍,我只能继续我的第三轮面试了。
Facebook 校招时本科生和硕士生是统一级别的,面试只包括算法题,不会有设计题;
而博士生则高一级,面试的时候还会有设计题。三轮 onsite 面试包括一轮 jedi 和两
轮 ninja。jedi 面主要是让面试者介绍自己的项目经历,了解面试者的技术专长和偏
好,不过面试官也让我做了一个简单的 coding 题。ninja 面各有两个 coding 题,题
目难度都不大,和电面差不多。但是与电面不同的是,面试官会深入问一些细节的问题
,例如代码里生成了多少个新的对象,有没有办法优化等,有一个问题还要求我用一种
算法实现后,再用另一种完全不同的思路实现一次。(onsite 面试是签了 NDA 的,这
里就不方便透露具体的题目了)
面试完之后有三个讲座,第一个讲座介绍了 Facebook 总体的工作环境。第二个分产品
和后台两个讲座,同时进行所以只能选一个。我一开始选择了后台开发,不过当时突然
对产品有了兴趣,就去听了产品的讲座。一位负责 Events 开发的工程师结合这个产品
介绍了下 Facebook 内部产品开发的流程,例如新特性是怎么出来的,如何测试等。最
后一个环节是几位刚从 bootcamp 毕业的员工和我们分享他们在 Facebook 中工作的感
受。
University Day 结束后,参加活动的每位学生还收到一个包装精致的礼物。拆开来后
是一块两面分别刻着「Move fast and break things」和「Proceed and be bold」的
玻璃砖。我还是很喜欢这个礼物的,这也一定程度上影响了我最后的选择。
面试完第二天 HR 从我这里要了三位 reference,包括他们的职称和联系方式,接下来
HR 会联系他们询问我的情况。Facebook 的动作也很快,第二周就给我发了 offer。
有意思的是,offer 邮件的 welcome package 最后一页建议面试者在入职前熟悉一下
Unix,还推荐了几篇文章和两本书。
Google 和 Facebook 的 onsite 是在同一星期面的,前后只隔了一天,收到 offer 的
时间也只差了一天。package 方面, Facebook 比 Google 的要好不少,但是 Google
的 HR 说可以 match Facebook 的 offer。去之前我想过如果两个 offer 都拿到,那
就去 Google。但是到了这两个公司,和几位面试官以及在里面工作的朋友深入聊天后
,最终还是选择了 Facebook,因为它规模更小,应该能有更多的锻炼机会。
另外我了解到的 Google 和 Facebook 的面试流程都是先由各位面试官给你打分,例如
分 strong hire / hire / weak no hire / strong no hire 四档(不一定完全一致,
比如可能会多一档 neutral)。同时要写下关于你的面试情况的报告。再接着由
hiring committee 讨论要不要给你 offer,以及 package 如何。有亮点(某位面试官
的 strong hire)很重要,一个 strong hire 和几个 weak no hire 会比平庸的清一
色的 weak hire 好。
(未完待续,转载请注明作者 zellux <http://blog.yxwang.me> )