前段时间面狗家的onsite五轮,其中四轮是印度人和一轮中国人。都是cloud team出来的。面完感觉其中有两轮可能会被黑。第一轮,算法。get Nth from a matrix N×N。 follow up是 get Nth from a matrix N*N. the nums in each row are sorted. the numer in each col are sorted. 这印度哥们很nice,应该没问题。
第二轮,算法。product cross and return all kinds of combination。比如input: [[a,b],[c,d]] output: [[a,c],[a,d],[b,c],[b,d]]这印度哥们很会挑刺。我给了三种方法都被否定了。最后硬是想出来了一种新的,第一次写。有几个corner case处理的还不错。那哥们质疑了很久,但手动跑了几遍case,没找出问题。他态度很一般,估计想黑我。
第三轮,系统设计。design a caching system. define the key. how to sharding the caching servers. 10T data -> 100 servers. need to have a proxy layer between app and caching servers.这印度大哥,面善。讨论的挺投入的。感觉自己答的很不错。后来得知被黑了一道。design的问题最容易在feedback里面找茬了。个人觉得这design是我的强项,不知道哪里没答好。
第四轮,测试是否熟悉java,然后在code里面找bug。find bug in code. datainitialization() and getResult(). there is bug there. to find out。另外还有一个算法题。char-> char array mapping. input is a string, and return all of the mappped string. 很快就搞定了。
第五轮,系统设计。the getlocations from map. define the api signature. input : a rectangle. output: a list of points. 高频题,没有准备过,答的还可以。
另外在紧急准备Airbnb的面试,大家有整理过的面经集,能否分享下。另外推荐一个Airbnb的内推,非常靠谱,现在已经进入onsite。http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=448656
在想着如果拿到Airbnb offer的话,可能就从了。