【EB2 2015年七月第51绿】NSC EB2-3-2 PD2012-7 散尽家财,谢谢版主版花# EB23 - 劳工卡
l*i
1 楼
CS fresh PhD. 西雅图,已经接到HR电话,悲剧,攒RP,发面经。
第一轮,2个人。每个人先介绍了几分钟。给题,boggle,先让我分析怎么解决。代码
写到8个方向递归的时候,被打断,说知道我后面会怎么写了,让我先分析这个程度的
复杂度,他们有其他问题要问。最后15分钟,问了一大堆behavior,关于team work的
一类的问题,有矛盾怎么解决,team里有人不干活,team里有人和你不同意见等等,要
求给出一些以前经历的例子。
第二轮,老美白人。开始问了很多object oriented的问题。abstract class,
interface,什么情况下如何选择,inheritance VS composition等等。然后一个
coding,按行统计词频,不难,hashtable解决。 写code的中间,问了很多次复杂度,
基本上我写一行code,他会问一下这一行的复杂度。然后给了一个OOD,一个tree的结
构,计算表达式。然后又出了一题OOD,题目还没解释完,外面的第3轮人就敲门了。
第三轮,南美或者欧洲女。这一轮我很崩溃。第一轮,按层遍历二叉树。直接问我,你
是不是见过这题,我说是。我写了用queue的BFS。此女第一个问题,问“Queue q =
new Linkedlist()”,应该是queue,你为什么new一个linkedlist,我回答“java里
queue是interface”。她说这样啊,她不知道这个。她自己在纸上笔画了半天,说,好
像是的,linkedlist可以代表queue的属性。我感觉很崩溃。让我用例子走一遍我的
code,然后她回答,看着没问题。第二题对我说,给你1-N个数,其中missing了一个数
,怎么找出来。又问,你是不是见过这题,我说这类题目比较经典,她说好,那你开始
写code吧。我说有很多种方法解决这个问题。我说可以移位到相应的index,也可以用
XOR。我写了XOR的代码,她仔细看了有2分钟,说了一句大概这样的话,“I never
know XOR can be used in this way, your solution is very creative”。我纳闷了
,XOR解决这种问题,不是很经典的么... 问我复杂度,我说O(N). 她又说,我非常喜
欢你的方法,她第一次知道XOR可以解决这样的问题。然后时间到了,她出门,走之前
对我说,你的方法很好,但是不是最快的方法。。。。我无语。。。难道又悲剧了。。。
第四轮,我估计应该是个国人manager,英语说的很不错。说他是来问data structure
的。上来让我说出,我所知道的data structure。然后他说,他知道想问什么了。让我
实现LRU。需要写详细的代码,包括构造函数都要。我说可以用doubly linkedlist+
hashmap实现。他说好,要求我写成generic的class。我说java里用K V T一类的,比如
这里hashmap可以用。他说,其实LRU实现不是用的hashmap,用的是hashset。我
当时觉得,hashset做不到O(1),可是又不知道是不是应该反驳一下。我就回答,java
里有个linkedhashmap,专门用来解决LRU的。他接着说,你就用hashmap写吧。我说我
从来没写过一类的generic的class,怕写的不好,他同意我就按普通class写。花
了一些时间,把code写完。他说有个小bug,我看了一下,很快发现忘了修改previous
的几个link。迅速改完,他又看了一遍,说现在的code看着不错。问我复杂度,我说这
个LRU是O(1)。又具体问了问,如何测试这个code。他拿手机拍照,结束。最后对我
说他也不清楚,我是来面什么职位的。他需要再问问HR。
面完当天,就觉得估计要悲剧。第一轮code没完全写完。第3轮O(n)居然还不是最优
解。很郁闷的走回酒店,突然大彻大悟,那个第三轮女,难道,难道她说的1 to N个数
,表示输入是sorted?她从头到尾,没说过sorted这个词啊。
总结教训
1. A家onsite,每轮只给45分钟,有时候面试官迟到5分钟,再扯点别的聊聊,时间很
紧。我的第一轮,面试官迟到了几分钟,加上讨论,白板写code的时间就很紧张,最后
又说要留15分钟问behavior。
2. 就算遇到的题目,都是面经,也一定要让面试官先给一个例子。我的第3轮找
missing的数,感觉就很冤,我现在猜测面试官的意思是,sorted的数,miss了一个。
这个二分就搞定了啊。就算我再笨,如果知道是sorted,从头到尾过一遍,也知道哪里
miss了啊,也不至于用XOR去解决啊。
从1月开始投简历,到现在,3个月面试了大概12家公司,拿了6个onsite,全部悲剧了.
.....求版上大牛refer....跪谢...
第一轮,2个人。每个人先介绍了几分钟。给题,boggle,先让我分析怎么解决。代码
写到8个方向递归的时候,被打断,说知道我后面会怎么写了,让我先分析这个程度的
复杂度,他们有其他问题要问。最后15分钟,问了一大堆behavior,关于team work的
一类的问题,有矛盾怎么解决,team里有人不干活,team里有人和你不同意见等等,要
求给出一些以前经历的例子。
第二轮,老美白人。开始问了很多object oriented的问题。abstract class,
interface,什么情况下如何选择,inheritance VS composition等等。然后一个
coding,按行统计词频,不难,hashtable解决。 写code的中间,问了很多次复杂度,
基本上我写一行code,他会问一下这一行的复杂度。然后给了一个OOD,一个tree的结
构,计算表达式。然后又出了一题OOD,题目还没解释完,外面的第3轮人就敲门了。
第三轮,南美或者欧洲女。这一轮我很崩溃。第一轮,按层遍历二叉树。直接问我,你
是不是见过这题,我说是。我写了用queue的BFS。此女第一个问题,问“Queue q =
new Linkedlist()”,应该是queue,你为什么new一个linkedlist,我回答“java里
queue是interface”。她说这样啊,她不知道这个。她自己在纸上笔画了半天,说,好
像是的,linkedlist可以代表queue的属性。我感觉很崩溃。让我用例子走一遍我的
code,然后她回答,看着没问题。第二题对我说,给你1-N个数,其中missing了一个数
,怎么找出来。又问,你是不是见过这题,我说这类题目比较经典,她说好,那你开始
写code吧。我说有很多种方法解决这个问题。我说可以移位到相应的index,也可以用
XOR。我写了XOR的代码,她仔细看了有2分钟,说了一句大概这样的话,“I never
know XOR can be used in this way, your solution is very creative”。我纳闷了
,XOR解决这种问题,不是很经典的么... 问我复杂度,我说O(N). 她又说,我非常喜
欢你的方法,她第一次知道XOR可以解决这样的问题。然后时间到了,她出门,走之前
对我说,你的方法很好,但是不是最快的方法。。。。我无语。。。难道又悲剧了。。。
第四轮,我估计应该是个国人manager,英语说的很不错。说他是来问data structure
的。上来让我说出,我所知道的data structure。然后他说,他知道想问什么了。让我
实现LRU。需要写详细的代码,包括构造函数都要。我说可以用doubly linkedlist+
hashmap实现。他说好,要求我写成generic的class。我说java里用K V T一类的,比如
这里hashmap可以用
当时觉得,hashset做不到O(1),可是又不知道是不是应该反驳一下。我就回答,java
里有个linkedhashmap,专门用来解决LRU的。他接着说,你就用hashmap写吧。我说我
从来没写过
了一些时间,把code写完。他说有个小bug,我看了一下,很快发现忘了修改previous
的几个link。迅速改完,他又看了一遍,说现在的code看着不错。问我复杂度,我说这
个LRU是O(1)。又具体问了问,如何测试这个code。他拿手机拍照,结束。最后对我
说他也不清楚,我是来面什么职位的。他需要再问问HR。
面完当天,就觉得估计要悲剧。第一轮code没完全写完。第3轮O(n)居然还不是最优
解。很郁闷的走回酒店,突然大彻大悟,那个第三轮女,难道,难道她说的1 to N个数
,表示输入是sorted?她从头到尾,没说过sorted这个词啊。
总结教训
1. A家onsite,每轮只给45分钟,有时候面试官迟到5分钟,再扯点别的聊聊,时间很
紧。我的第一轮,面试官迟到了几分钟,加上讨论,白板写code的时间就很紧张,最后
又说要留15分钟问behavior。
2. 就算遇到的题目,都是面经,也一定要让面试官先给一个例子。我的第3轮找
missing的数,感觉就很冤,我现在猜测面试官的意思是,sorted的数,miss了一个。
这个二分就搞定了啊。就算我再笨,如果知道是sorted,从头到尾过一遍,也知道哪里
miss了啊,也不至于用XOR去解决啊。
从1月开始投简历,到现在,3个月面试了大概12家公司,拿了6个onsite,全部悲剧了.
.....求版上大牛refer....跪谢...