Google:
本人运气好,碰到的题目都很简单。
大家都告诉我Google面试都是不聊天的。可是除了第一面试官,我和其他面试官都聊了
10分钟左右。也有你有啥问题想问我的吗?以及聊聊家常,比如问我平时在castro都去
哪些店啊什么的。。。
1. 白人小哥。给一个围棋棋盘,判断是不是有某个颜色的子被围住了。最后他和我讨
论了一下要注意的输入。最后他让我给几个例子,还有非法输入可能是哪些?已经我的
实现有什么好的地方和不好地方。巧的是,这个面试官是和我一块到的Google,他带我
领得visitor卡。那时候就已经知道他要面我了。估计看我是亚洲人,就出了一个围棋
的题目吧。。。
2. 白人大叔。给的题目都很简单,leetcode的easy水平,第一问给忘了。第一问很快
就写好了。然后大叔问我对iterator熟不熟,我说不太熟,然后说那就换一个吧。。。
所以第二问就是给一BST和一个min,一个max,然后让你把这个range里面的数都找出来
。(貌似是lintcode原题?)然后问了一下如何实现Big integer。让我大概说了一下
如何实现,然后让我问他问题了。他介绍了一堆G+的组织和做什么的东西。
3. 是个三哥面的,给两个点(x1, y1), (x2, y2),有一个drawPixel的函数,让你把这
个线画出来。我把y=kx+b写出来之后,三哥表示为什么要有b。难不成这个公式只有中
国人在用?三哥后来自己画了一下,表示同意。然后给了几个例子给他就让我问问题了。
4. 加拿大白人。之前在startup工作。给一个image,image是用一维数组表示。第一问
是如果把每个row都flip一下。超级简单,很快就写好了,让我过了一遍test。第二问
问我找出这个图所有的颜色。我用了Hashset,然后他问了下Hashset的实现,然后就扯
到了Hashtable,然后扯了下时间空间复杂度。然后问什么情况下会fail,fail的时候
如何处理。然后因此而引申到了Heap的空间可能会不够,new因此会throw exception。
已经为什么会出现不够了。比如其他数据结果已经占用了很多空间,或者heap里面很多
碎片。然后说道如果给的图片太大了,如何做。就是把图片分割一下,然后结果合并一
下。然后最后一个followup是如何设计这个读片段的API,我一直不太懂他想要什么?
所以说的磕磕巴巴。然后剩下10分钟问问题。
接着介绍一下我自己找工作的经历吧。给大家参考下。我自己犯下的错误,可能对有些
找工作还没有找到感觉的同学给些可能的方向吧。我自己找工作开始投太少了,准备面
试没有好好复习学过的课程,没有准备behavior。另外太依赖leetcode的oj,大家写完
code要自己尽量把test cases想全了。
我3月之前都是“矜持”地投着简历,除了9月的时候投了一堆简历,2月之前就没有投
了,主要是觉得没准备好。所以去年9月到今年1月就面了Pure和Zillow。Zillow的电面
跨度特别大,从9月一直到11月。onsite直接被推到了今年1月底。2月份就面了Nutanix
一家。挂了Nutanix就快3月了,于是开始担心找不到工作了,就开始了海投的阶段(主
要是小公司,有的是自己投的,有的是在MITBBS,HIRETEAMMATE上找的内推,有的是
Career fair上面投的。什么样的公司都投了)。海投简历就被据了一半以上,剩下大
多没有消息。海投总共拿到了Google,Twitter,Dropbox,Pocket Gems,Wepay,
Bloomberg,WalmartLab,Snapchat,Yelp,Hulu,Rovi, Synmantec的面试。这中间只
有Snapchat的面试过程是最快,不过从HR联系我面试时间到拿到Offer也快一个月了。
拿到Snapchat后把Yelp,Pocket Gems, Hulu, Rovi和WalmartLab的面试终止了。
Pocket Gems已经电面过一轮,给我发第二轮电面的时候我说不面了。Dropbox的二面和
Wepay是在拿到Snapchat的Offer之后两天内面的。那时候还在激动中,所以面试没有好
好面,所以毫无意外地跪了。Dropbox的HR特别地nice,和我说保持联系。Google刚刚
结束了Onsite,题目都不难。还有继续在面试的有Twitter和Bloomberg。本人没有投FB
和LinkedIn。LinkedIn的new grad职位已经满了。要到秋季才开始招new grad。FB对
new grad的bar提高了很多,很多人简历就被拒了,所以我也就不去凑热闹了。
1. Pure是在去年9月份On campus interview。交了简历,让你fix一个同步的bug,很
简单。很多上过OS的同学都没有拿到他家的On Campus,很奇怪。On Campus的题目也很
简单,是一个印度学姐面得。学姐超级nice。pure家的题目永远是那几题,onsite的题
目一直就是那3-4题。所以你拿到Onsite,好好准备下,behavior没问题就能拿下了。
楼主是今年5月毕业的,所以当初对Pure觉得挺无所谓的,觉得也没有希望拿到吧。所
以面试前一天晚上还在做course project,一直做到凌晨1,2点,完全没有准备面试,
早上起来就困得要死,面试的时候在很多值初始化,边界问题上面犯了低级错误。题目
都不难,我也都做出来了。不过我在面试的时候自告奋勇地不止一次地告诉面试官我不
喜欢自己实习公司,不喜欢实习做的东西(真的是自告奋勇,面试官都没有没问我喜不
喜欢实习,我自己就说了不喜欢。。。)。我自己是很喜欢Pure的工作环境和他们做的
东西,和我的背景比较match。所以面完之后包还是傻傻地期待拿Offer。可是两周后HR
告诉我跪了。所以郁闷了好几天。然后开始在behavior上面花了很多时间准备。
2. Zillow的面试过程很长,从去年9月一直面到了今年1月。每次和他们HR联系都要好
久才回。题目都不难,不过坐在飞机上面的时候意识到自己在其中一轮有个题目写错了
。可能是这轮跪了吧。面试官是个很年轻的白人,一上来就出了一道有指向父亲的指针
的树,给我一个Node,让我判断这个Node是不是在这颗树里面。题目太简单了,我都不
敢相信,然后花了1,2分钟写完了。这个白人有点尴尬。然后出了一题binary search
tree。还有就是我写错的这一题。很简单,但是我就是没有多想几个case。题目就是给
你一个字母表,比如:
ABC
DEF
GHI
...
然后给你一个单词BEEF,然后从A开始,只能向相邻的四个位置移动,找到字母后打印
出字母,比如你的打印就会是:
right B down E E right F。推荐先把列定了,再定行。
其他题目都是LC的稍微变一下,rotate array找第K个,find maximum square in a
matrix. leetcode那个是rectangle等等。
最后一轮是和最早加入Zillow那批的员工聊天。他问我Java的static变量在哪。我表示
不知道。。。我说对C比较熟悉。但其实关于C的某个东西我也说错了。面完之后就把OS
的基本概念过了一下,把Java基本的东西看了一下。所以找工作光刷题绝对不够,真的
要把自己上过的课复习至少一遍,自己做的project需要再过一遍。据说他家裙带关系
比较严重,所以也不抱什么希望。但是Zillow望出去真的超级漂亮,1月份的时候,远
处就是皑皑的雪山。就在2nd ave上面,下面就是湖,真的超级美。西雅图本身就很美
!两周之后收到拒信。
3. Nutanix是同学内推的。面试也是进行了一个月。之前听同学说Nutanix很容易进。
所以准备地超级随意,连公司的网站都没有打开过。觉得这个Offer是势在必得的!直
到Onsite的时候当他们Manager问我你知道我们是干什么的吗?我虚了,说漏了嘴说我
就是刚才在楼下看了一下你的视频。因为当初期待过高,被据很难受。HR是个特别nice
的美国漂亮女生,还特意打电话来告诉我被挂了。也因为期望过高。在面Nutanix的这
一个月里面就没有投其他公司,准备一心冲FLG了。挂了Nutanix又沮丧了好几天。这里
要感谢陪我一起找工作的小伙伴。没有小伙伴的一起刷题准备面试,这个过程会更加艰
辛。我当初面的是Core data组。我另外两个上过OS的同学都拿到了。我真的是弱爆了
。这是印度人开的公司,尤其是面我的那个组基本上只有印度人和少数白人。不过他们
做的东西我很喜欢。题目就是merge k lists, separate odd and even numbers in
place, 设计并实现thread pool。如何用heap在O(n+klogk)的时间内找到topk。我也算
是长见识了。
挂了Nutanix之后,我再也不轻信别人说的某某公司很容易进的!每个人的情况不一样
,所有面试都要全力以赴。转眼也就快3月了,原来计划3月之前找好工作回趟国的计划
也泡汤了。找不到工作的恐惧感更强烈了。。。所以就开始了海投的过程。
4. Snapchat。Snapchat的HR效率非常高,我好像是在他们家网上投了之后下周一就收
到面试安排的邮件。我觉得电面没有面好,结果面试我的黑哥哥超级nice,让我过了。
。。直接onsite了。不过Snapchat一般不给西岸的面试者安排酒店,都是当天往返。我
有同学争取到了提前一天到,因为他的面试有点早。我鉴于之前在behavior上面表现不
好,所以吃饭的时候很谨慎。也要感谢在Snapchat工作的同学提醒,所以没有问一些很
私人的问题。我终于忍住没有问你孩子多大了。。。之后是4轮面试。题目都不难,基
本上是Leetcode的题目和一些面经。我只能说运气好,碰上了很nice的中国人!另外我
觉得自己在Snapchat产品上做了很多研究也有帮助,和其中3个面试官们聊得不错,所
以最后觉得我有culture fit吧。我觉得Snapchat还挺看重Culture fit的。第二天早上
就收到HR发的邮件,约个时间打电话,电话里面神神秘秘地问我有什么问题想问他的么
,我就问了结果出来了吗?然后告诉我我拿到Offer了,然后后面HR说的那些话都听不
进去了。。。Snapchat的题目我就先不放上来了。真的大多都是leetcode,lintcode的
题目,不是leetcode题目的,你们用中文搜一下snapchat面经,基本上就能找到了。
另外我觉得春季相找工作不如秋季,很多公司的名额都用完了。如FB,LinkedIn,
AppDyanmics。不过有些公司春季招的人比较多,比如snapchat。不过还是很多公司在
招人的,大家多投投。最后祝大家都找到满意的工作。