PD Jun 1 12, 收到RFE,律师来函说最好他回复。。。# EB23 - 劳工卡
C*U
1 楼
找工作篇:
2012年的春季,想开始尝试一下CS的找工作的过程,所以投了3个公司的暑假实习。
Halliburton, iseatz和gameloft。他们都算是来学校招人的公司。
Halliburton是一个老印面的,题目很简单,但是没有选我。我觉得他们肯定是安排好
人了,我只不过去做个分母而已。
第二个是iseatz,是一个给航空业提供软件支持的公司。他们寻找的是large data和网
页制作的人。我当时mysql都不会,很自然就挂了。
第三个是Gameloft。 上来就让做一个3小时的online test,题目很多,不过都是C++的
基本知识,然后还让写了4个程序,都很简单那种。他们很快给了offer,但是没去。一
个是因为他们的工资和麦当劳一样,还有一个是因为老婆要去别的城市,所以我决定和
老婆一起过去,好有个照应。后来觉得这个选择是对的。一方面暑假的时候在那边和一
个教授做出来一个结果,多写一篇论文(后来种种原因,论文到现在还有一些没写完)
。另一方面,我有很多时间来做找工作的准备。
暑假的前两个月心里还是很懒散,除了每周和教授见面讨论问题一次,基本就在家里无
聊,然后把shreve的stochastic calculus两本书看完了,基本上也算是把随机过程自
学了一遍。一直到了8月初的时候问了mittbbs的前辈们。很多都已经开始面试了,于是
我也开始紧张起来。开始找工作的时候是一团乱麻,开头都不知道哪里去投简历。所以
开始到处找资源,找寻找工作的经验之谈。主要有两个资源。一个是身边的人。每一年
都有很多人要找工作,都会收集信息。所以问问身边的人能带来很多的帮助。还有一个
就是网上的论坛。有了别人的经验之谈就能少走很多弯路。一开头我什么都不懂,但是
在mitbbs上有很多人会分享信息,感受,题目,所以慢慢的我也懂了面试的流程。尤其
是那些面经,确实很有用。题目是永远做不完的,但是因jobhuting的题目都是最近面
试的,所以基本上都能反映出某个公司的出题类型。这样至少可以举一反三。暑假的最
后一个月,开始做leetcode。
九月份开始写简历。我没有做过什么大项目,没有实习经验,所以只能写一点课程的项
目然后再加一点数学的背景。开始投的是金融的公司。在http://www.efinancialcareers.com上投了10几个小公司。这个网站是金融公司招人比较集中的地方,然而一个公司也没给我面试。于是开始转向CS的公司。这个主要是在www.dice.com/www.glassdoor.com上投了几个。投了第二天就收到了面试!投简历还是要有一点运气的。当然简历还有要认真准备。另外一方面是,大公司一个也没有直接给我面试。说明我的简历还是有问题。这个时候就要靠身边的朋友帮忙了。我的MFLAG的面试都是靠别人refer拿到面试的。MFG是靠身边的朋友。LA是靠板上的大牛们帮忙的。在这里谢谢板上的大牛们!
第一个面试来自于glassdoor上的storm8。当时感觉心里特别不踏实,careercup150题
都没做完。第一次面试相当紧张,不过最终hr打电话来只是问了一些很简单的常识,所
以没有搞砸。第二轮网上做题是leetcode上最小path的变种,只要把min改成max就好了
。所以很轻松拿到onsite。这是我人生第一次onsite。相当的紧张。提前了一个小时就
到了那里,干等了一个小时。越坐越紧张啊!所以面试的时候千万不要提前很多时间去
等,提前10分钟到就可以了,那样反而放松。而且你去了,他们也没空搭理你,只有面
试开始前一点时间,带你转一下公司。下面的是面经:
1 HR聊天,还是不停得夸他们公司怎么好,别人想出钱买他们公司,他们都不卖。说
Zynga如何一般,说虽然有几千员工,但是产品不咋样。我当然是符合她的话,夸他们
公司好。但是我还是第一次遇到这样的HR,感觉像这个公司的老板娘,而不是一个小HR
而已。
2一个工程师。应该是个中国人,名字也像中国人的名字。问了我一个RGB排序问题。就
是给了一个数组的RGB对象,需要排序。不能用count sort来做。这个题目挺简单,而
且之前也见过,很快想到怎么做了。两头用两个指标指向R和B应该放的下一个位置,然
后把数组走一边。code写完了,有一个小错误,<=,但是很快改正了。然后工
程师说让我把code简化一下。照做了。然后就是聊天,我问他我写的怎么样,他说you
are fine. Sincewe have time, I am just picky about it。然后随便聊了聊。
3一个中国大妈工程师。我猜应该是中国大妈。哈哈。07年开始工作。问了打印一个集
合的所有子集问题。要求是不能存储所有的子集,每个时刻只能存储一个子集。我当时
立马想到的是要给所有子集一个顺序。但是下面的地方我想错了,我给子集的顺序的方
式是根据子集里面的元素的大小来给的。但是实际上只要把所有元素都列好,然后用2
进制的方式来表示就可以对这些子集排序了。只能说我太弱了,回来以后和别人讨论,
大家都想到了2进制的办法,就我没能想到。郁闷啊。这个题目我做出来了,但是我的
方法不好。确实是能力不行。
4一个伯克利小本。问了螺旋打印矩阵和两个数组表示的数字相乘。很简单,bug free得
写完了。
这次面试让我严重怀疑自己的算法能力。之前信心满满,觉得我计算机别的不行,算法
还是挺好的。(算法课平均分60,我基本上接近100,当然我们学校比较水,不能和CMU
的那些比)。这么简单题目都搞不定咋找工作啊!这次面试也有收获,有了面试经验,
为后面的面试做了不少贡献!所以大侠们要找工作先找个一般的练手很重要。
第二个公司是Epic。他们的第一轮是到GRE的考试中心去做三小时的题目。顺利通过了
。20个题目是给你一种新语言,然后按照他的语法让你判断一些操作是否正确和结果是
哪个。然后4个编程题目,都是挺简单的那种。没有很高深的算法。然后过了段时间就
给onsite了。下面是onsite的经过:
1 园区游览。他们的公司造的真不错。很有意思。还有滑梯。小孩玩的那种。
2 软件展览。就坐着那里看。记得拿甁水。会口渴的。
3 软件开发介绍。一个程序员给你介绍开发流程。
4 项目讨论。把你的一个项目给他讲。他会问你问题。这部分比较技术。要好好准备。
他会问你问题。据后来别人说,Epic的onsite主要就是看你在这个环节的交流能力,
team work的能力,所以以后大家去的时候注意这个环节。
5 吃午饭。
6 HR聊天。各种behavior问题。然后2分钟做10个题目。只做了9个。慢了。惭愧。
7 14个数学题。都是小学中学数学题。比如蜗牛爬2米掉1米这种题目。
我完全不知道为什么他们把我据了,很郁闷的,而且还是打电话拒的!不过看到版上不
少大侠拿到他们的offer,只能说明我的实力还不够Epic。Epic对面试的人的安排真是
挺到位的!还能带老婆。可惜老婆也去外地面试,没去成。
第三个公司是谷歌!!!
第一轮自己觉得都面挂了!给了两个题。第一个设计题,是让设计一个webcounter。我
一上来给的是3个 circular array的想法,但是被他一个问题给搞糊涂了,最后给了一
种树结构的设计。时间不够没完全讨论完。第二个题目超级水,一行行输入,奇数行打
印原来的东西,偶数行隔一个字母打印。以为挂了,结果过了两天就收到onsite通知,
着实兴奋了一阵子!!11月16号是个大日子!我最好的朋友结婚了,但是我却不能回去
祝福他。话说谷歌发信告诉你不用穿西装,但是我最后还是穿了西装去。下面是
onsite的经过:
1 和一个阿三讨论我的数学论文。我主要讲了Jones Polynomial。那人开始不太懂,我
举了例子,他就懂了一些。最后问我如何用到google里面。我说可以用来判断两个图是
不是一样。这个在google就有广泛的应用了!他似乎很满意,说回去要再专研一下。
2 和一个同胞,直接中文。给了几个题目。第一个是判断括号组合是不是有效的。第
二个是判断一个树是不是另外一个树的flip。然后要讲时间是多少。 最后出了一个讨
论题目,说给了一个树,不一定是2叉树,让设计一个数据结构来serialize和
deserialize。
3 和一个美国人吧。给一个矩阵和一个树k,要算另外一个矩阵。新的矩阵的每个位置
是老矩阵里面每个对应位置位中心变长为k的小矩阵的平均。用DP算法可以做到N^2。然
后实现这个算法。写了三个函数。
4 和一个阿三。先做了一个题目是实现square root函数。用了牛顿方法。然后让给一
个初始值的估计。用了2进制的思想来估计。然后说给了一个大文件,每一记录是三个
项目timestamp, query, ip。要根据timestamp,ip和(timestamp,ip)做range query。
我的想法是排序+binary search。不知道这个设计好不好。然后中间实现binary
search。
5 和一个老美。先上来DP问题。说给一个字符串,是通过一些单词没有空格隔开的。让
我如果把他们分成最少的单词数。用了DP做出来。不过不知道他听懂没有。然后让设计
一个数据结构,使得一个人输入几个字母以后,会弹出来推荐的词。我用了prefix
tree。然后他问怎么能最小化打字。我就说可以根据概率来弹出后面3个的推荐,然后
一次继续。然后在这个上面纠缠了很多,然后考虑了很多情况。然后算了一下期望可以
减少的打字数。
我只能说我运气比较好,遇到的题目不是很难,都答出来了!出来之后特别兴奋。
第四个公司是pocket gems。因为要去谷歌onsite,所以催她们给onsite。
面了两轮电面。第一轮电面是写两个函数,一个是LCA,一个是reverse string。第二轮
电面是string match。我说kmp,他说就用brute force。然后就是deep copy graph。
然后就给了onsite。那时候刚面完谷歌,感觉特别好,面他们的时候有点提不起精神。
所以很快就挂了。
下面是onsite的经过:
1 设计问题
2 a给定一个n*n的矩阵,k个人在lattice上,然后定义曼哈顿距离。让找一个会和地点
使得大家走的路的综合最小
b 给定一个不知道长度的整数数组和一个随机生成函数,让从中随机选出10个数字
,使得每个数被选出来的概率是一样的
3 a 2维平面上的整点。从远点出发,可以往四个方向走。如果某个点的坐标的各个数
位加起来大于k就不能走这个点。让走所有可以走到的点。
b 给定一个正整数数组,两个人玩游戏。每次只能从数组的两头取其中一个。要设计一
个方法使得取出来的数字的综合尽可能大。
他们家很迅速,第二天一大早就打电话来拒了。
总体来说我运气比较好。只要有点面就拿到onsite。然后别的都挂就拿到g。
2012年的春季,想开始尝试一下CS的找工作的过程,所以投了3个公司的暑假实习。
Halliburton, iseatz和gameloft。他们都算是来学校招人的公司。
Halliburton是一个老印面的,题目很简单,但是没有选我。我觉得他们肯定是安排好
人了,我只不过去做个分母而已。
第二个是iseatz,是一个给航空业提供软件支持的公司。他们寻找的是large data和网
页制作的人。我当时mysql都不会,很自然就挂了。
第三个是Gameloft。 上来就让做一个3小时的online test,题目很多,不过都是C++的
基本知识,然后还让写了4个程序,都很简单那种。他们很快给了offer,但是没去。一
个是因为他们的工资和麦当劳一样,还有一个是因为老婆要去别的城市,所以我决定和
老婆一起过去,好有个照应。后来觉得这个选择是对的。一方面暑假的时候在那边和一
个教授做出来一个结果,多写一篇论文(后来种种原因,论文到现在还有一些没写完)
。另一方面,我有很多时间来做找工作的准备。
暑假的前两个月心里还是很懒散,除了每周和教授见面讨论问题一次,基本就在家里无
聊,然后把shreve的stochastic calculus两本书看完了,基本上也算是把随机过程自
学了一遍。一直到了8月初的时候问了mittbbs的前辈们。很多都已经开始面试了,于是
我也开始紧张起来。开始找工作的时候是一团乱麻,开头都不知道哪里去投简历。所以
开始到处找资源,找寻找工作的经验之谈。主要有两个资源。一个是身边的人。每一年
都有很多人要找工作,都会收集信息。所以问问身边的人能带来很多的帮助。还有一个
就是网上的论坛。有了别人的经验之谈就能少走很多弯路。一开头我什么都不懂,但是
在mitbbs上有很多人会分享信息,感受,题目,所以慢慢的我也懂了面试的流程。尤其
是那些面经,确实很有用。题目是永远做不完的,但是因jobhuting的题目都是最近面
试的,所以基本上都能反映出某个公司的出题类型。这样至少可以举一反三。暑假的最
后一个月,开始做leetcode。
九月份开始写简历。我没有做过什么大项目,没有实习经验,所以只能写一点课程的项
目然后再加一点数学的背景。开始投的是金融的公司。在http://www.efinancialcareers.com上投了10几个小公司。这个网站是金融公司招人比较集中的地方,然而一个公司也没给我面试。于是开始转向CS的公司。这个主要是在www.dice.com/www.glassdoor.com上投了几个。投了第二天就收到了面试!投简历还是要有一点运气的。当然简历还有要认真准备。另外一方面是,大公司一个也没有直接给我面试。说明我的简历还是有问题。这个时候就要靠身边的朋友帮忙了。我的MFLAG的面试都是靠别人refer拿到面试的。MFG是靠身边的朋友。LA是靠板上的大牛们帮忙的。在这里谢谢板上的大牛们!
第一个面试来自于glassdoor上的storm8。当时感觉心里特别不踏实,careercup150题
都没做完。第一次面试相当紧张,不过最终hr打电话来只是问了一些很简单的常识,所
以没有搞砸。第二轮网上做题是leetcode上最小path的变种,只要把min改成max就好了
。所以很轻松拿到onsite。这是我人生第一次onsite。相当的紧张。提前了一个小时就
到了那里,干等了一个小时。越坐越紧张啊!所以面试的时候千万不要提前很多时间去
等,提前10分钟到就可以了,那样反而放松。而且你去了,他们也没空搭理你,只有面
试开始前一点时间,带你转一下公司。下面的是面经:
1 HR聊天,还是不停得夸他们公司怎么好,别人想出钱买他们公司,他们都不卖。说
Zynga如何一般,说虽然有几千员工,但是产品不咋样。我当然是符合她的话,夸他们
公司好。但是我还是第一次遇到这样的HR,感觉像这个公司的老板娘,而不是一个小HR
而已。
2一个工程师。应该是个中国人,名字也像中国人的名字。问了我一个RGB排序问题。就
是给了一个数组的RGB对象,需要排序。不能用count sort来做。这个题目挺简单,而
且之前也见过,很快想到怎么做了。两头用两个指标指向R和B应该放的下一个位置,然
后把数组走一边。code写完了,有一个小错误,<=,但是很快改正了。然后工
程师说让我把code简化一下。照做了。然后就是聊天,我问他我写的怎么样,他说you
are fine. Sincewe have time, I am just picky about it。然后随便聊了聊。
3一个中国大妈工程师。我猜应该是中国大妈。哈哈。07年开始工作。问了打印一个集
合的所有子集问题。要求是不能存储所有的子集,每个时刻只能存储一个子集。我当时
立马想到的是要给所有子集一个顺序。但是下面的地方我想错了,我给子集的顺序的方
式是根据子集里面的元素的大小来给的。但是实际上只要把所有元素都列好,然后用2
进制的方式来表示就可以对这些子集排序了。只能说我太弱了,回来以后和别人讨论,
大家都想到了2进制的办法,就我没能想到。郁闷啊。这个题目我做出来了,但是我的
方法不好。确实是能力不行。
4一个伯克利小本。问了螺旋打印矩阵和两个数组表示的数字相乘。很简单,bug free得
写完了。
这次面试让我严重怀疑自己的算法能力。之前信心满满,觉得我计算机别的不行,算法
还是挺好的。(算法课平均分60,我基本上接近100,当然我们学校比较水,不能和CMU
的那些比)。这么简单题目都搞不定咋找工作啊!这次面试也有收获,有了面试经验,
为后面的面试做了不少贡献!所以大侠们要找工作先找个一般的练手很重要。
第二个公司是Epic。他们的第一轮是到GRE的考试中心去做三小时的题目。顺利通过了
。20个题目是给你一种新语言,然后按照他的语法让你判断一些操作是否正确和结果是
哪个。然后4个编程题目,都是挺简单的那种。没有很高深的算法。然后过了段时间就
给onsite了。下面是onsite的经过:
1 园区游览。他们的公司造的真不错。很有意思。还有滑梯。小孩玩的那种。
2 软件展览。就坐着那里看。记得拿甁水。会口渴的。
3 软件开发介绍。一个程序员给你介绍开发流程。
4 项目讨论。把你的一个项目给他讲。他会问你问题。这部分比较技术。要好好准备。
他会问你问题。据后来别人说,Epic的onsite主要就是看你在这个环节的交流能力,
team work的能力,所以以后大家去的时候注意这个环节。
5 吃午饭。
6 HR聊天。各种behavior问题。然后2分钟做10个题目。只做了9个。慢了。惭愧。
7 14个数学题。都是小学中学数学题。比如蜗牛爬2米掉1米这种题目。
我完全不知道为什么他们把我据了,很郁闷的,而且还是打电话拒的!不过看到版上不
少大侠拿到他们的offer,只能说明我的实力还不够Epic。Epic对面试的人的安排真是
挺到位的!还能带老婆。可惜老婆也去外地面试,没去成。
第三个公司是谷歌!!!
第一轮自己觉得都面挂了!给了两个题。第一个设计题,是让设计一个webcounter。我
一上来给的是3个 circular array的想法,但是被他一个问题给搞糊涂了,最后给了一
种树结构的设计。时间不够没完全讨论完。第二个题目超级水,一行行输入,奇数行打
印原来的东西,偶数行隔一个字母打印。以为挂了,结果过了两天就收到onsite通知,
着实兴奋了一阵子!!11月16号是个大日子!我最好的朋友结婚了,但是我却不能回去
祝福他。话说谷歌发信告诉你不用穿西装,但是我最后还是穿了西装去。下面是
onsite的经过:
1 和一个阿三讨论我的数学论文。我主要讲了Jones Polynomial。那人开始不太懂,我
举了例子,他就懂了一些。最后问我如何用到google里面。我说可以用来判断两个图是
不是一样。这个在google就有广泛的应用了!他似乎很满意,说回去要再专研一下。
2 和一个同胞,直接中文。给了几个题目。第一个是判断括号组合是不是有效的。第
二个是判断一个树是不是另外一个树的flip。然后要讲时间是多少。 最后出了一个讨
论题目,说给了一个树,不一定是2叉树,让设计一个数据结构来serialize和
deserialize。
3 和一个美国人吧。给一个矩阵和一个树k,要算另外一个矩阵。新的矩阵的每个位置
是老矩阵里面每个对应位置位中心变长为k的小矩阵的平均。用DP算法可以做到N^2。然
后实现这个算法。写了三个函数。
4 和一个阿三。先做了一个题目是实现square root函数。用了牛顿方法。然后让给一
个初始值的估计。用了2进制的思想来估计。然后说给了一个大文件,每一记录是三个
项目timestamp, query, ip。要根据timestamp,ip和(timestamp,ip)做range query。
我的想法是排序+binary search。不知道这个设计好不好。然后中间实现binary
search。
5 和一个老美。先上来DP问题。说给一个字符串,是通过一些单词没有空格隔开的。让
我如果把他们分成最少的单词数。用了DP做出来。不过不知道他听懂没有。然后让设计
一个数据结构,使得一个人输入几个字母以后,会弹出来推荐的词。我用了prefix
tree。然后他问怎么能最小化打字。我就说可以根据概率来弹出后面3个的推荐,然后
一次继续。然后在这个上面纠缠了很多,然后考虑了很多情况。然后算了一下期望可以
减少的打字数。
我只能说我运气比较好,遇到的题目不是很难,都答出来了!出来之后特别兴奋。
第四个公司是pocket gems。因为要去谷歌onsite,所以催她们给onsite。
面了两轮电面。第一轮电面是写两个函数,一个是LCA,一个是reverse string。第二轮
电面是string match。我说kmp,他说就用brute force。然后就是deep copy graph。
然后就给了onsite。那时候刚面完谷歌,感觉特别好,面他们的时候有点提不起精神。
所以很快就挂了。
下面是onsite的经过:
1 设计问题
2 a给定一个n*n的矩阵,k个人在lattice上,然后定义曼哈顿距离。让找一个会和地点
使得大家走的路的综合最小
b 给定一个不知道长度的整数数组和一个随机生成函数,让从中随机选出10个数字
,使得每个数被选出来的概率是一样的
3 a 2维平面上的整点。从远点出发,可以往四个方向走。如果某个点的坐标的各个数
位加起来大于k就不能走这个点。让走所有可以走到的点。
b 给定一个正整数数组,两个人玩游戏。每次只能从数组的两头取其中一个。要设计一
个方法使得取出来的数字的综合尽可能大。
他们家很迅速,第二天一大早就打电话来拒了。
总体来说我运气比较好。只要有点面就拿到onsite。然后别的都挂就拿到g。