Monday, June 9, 2014

LinkedIn面经(已跪),攒个rp

发信人: pastime (就让往事随风,都随风,都随风......), 信区: JobHunting
标  题: LinkedIn面经(已跪),攒个rp
发信站: BBS 未名空间站 (Fri May  9 14:43:11 2014, 美东)

电面:
第一次:印男,implement string matching and replacing
第二次:国男,producer consumer,谢谢中国小弟弟出了这个我非常熟悉的题

onsite:

第一轮:hiring manager,主要就是谈project,我讲了我最近在做的一个OO design的
东西,因为和面的组没啥关系,看得出来hiring manager是耐着性子听我说完的 :-P

第二轮:印男加国男,given a stream of data and a sliding window, implement
put(), getAverage(),和另外一个function(忘了是啥了)。考虑multithreading的情况

第三轮: 吃饭

第四轮:最坑爹的一轮,recruiter告诉我也是跪在了这一轮,所以多说两句。来的是
个中年老印加一个中年国男,国男shadow。老印一出现就是一幅超鄙夷超不屑的臭脸。
出了一个inverted index的题,就是有一大堆doc,对doc里出现的word建inverted
index,doc很多所以是distribute在很多machine上的,问怎么实现这个inverted
index。我听了题目暗爽,这种题我准备的很充分啊!因为这题有很多解法,我就从差
到好一一说来,每个都说了为啥不好,然后引出我认为最好的那一个。可是我每说一个
老印就急吼吼的跳起来反驳我。搞了两回,我意识到可能老印就是想听最佳答案,我就
解释说我只是想list一下所有的option,我也问他你是不是prefer直接告诉你最佳答案
?他说是。我就直接给了我认为的最佳答案。

接下来还有几个相关的小问题我都忘了,有一个是关于map reduce的。最后一个,是找
出前K个最常用的word。我说用min heap找出每个machine的K个最常见word,再用一个
min heap merge这些list。奇葩的事情就出现了,老印跳出来说,不对,你用min heap
是不对的,应该用max heap!这时国男也一脸诚恳的“提醒”我说:是的,你用min
heap找出来的是最不常用的K个word哦!我我我,我当场就愣了!不会吧,俩linkedin
的老员工了,好歹是个面试官啊,居然连min heap和max heap是啥都不知道?愣了两秒
,我就给他们讲了一遍啥是min heap啥是max heap,和为啥找K个最常用的word要用min
heap而不是max heap。一遍讲我一边想:我这是来面试的还是来给linkedin的员工培
训基本data structure的?最后俩人还是将信将疑,又问了一个有关于thread的小问题
就结束了。

第五轮:小印女加小印男,也是问了一个类似在stream里找k个最大数的题,我还是用
了min heap,还好俩人都知道啥是min heap,也比较认同我的做法。然后大部分的时间
都在讨论multi threading的实现,我提到了read write lock,和三种fairness
policy,不过他俩都是一脸茫然,好像他们只知道read write lock,但不知道
fairness这回事,挺奇怪的。(另:刚又想起,这一轮还问了max point on a line一
题,leetcode上有,只要求pseudo code,我做了个square的,问小印男还有没有更快
的,他说就他所知没有了)。

第六轮:亚裔男(不是国男)加印男,问了romanToInt和intToRoman的题,intToRoman
和leetcode一样,但romanToInt要考虑很多corner case。这些corner case在leetcode
和EPI上都没有提到过。另外,好像EPI上的解法很多错误,我没看几道题就已经找出很
多错了,有的错的很离谱,大家得注意一下。

第七轮:白男加国女,问了一个design的题,design monitoring system,自我感觉是
发挥的最好的一轮。

面完以后我就觉得,成败就在第四轮,最后果然就跪在了这一轮。不过我是一点遗憾都
没有,要是给了我offer,让我去和对我天生有敌意的老印,还有分不清min heap和max
heap的人一起共事,其实也不是什么好事。还有我觉得好几个问道我multithreading
问题的人,本身对multithreading也不是很熟,像那个read write lock fairness
policy的问题,还有lock free algo的ABA问题,他们好像都不知道,那他们平时是咋
把multithreading的程序写对的啊?

所以我现在挺疑惑的:是不是我特别倒霉,碰上的都是linkedin里水平比较低的一些人
,还是linkedin的员工水平并不像原本我想的那么高?

--
※ 修改:·pastime 於 May  9 19:04:43 2014 修改本文·[FROM: 76.]
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 76.]

http://www.mitbbs.com/article_t/JobHunting/32692253.html

No comments:

Post a Comment