Facebook,Linkedin, Google的面经

原帖地址:mitbbs

背景: EE通信PHD,转行的,接近4年通信chip公司经验。
我都是直接找朋友要的recruiter的email,发信过去,然后他们约了时间随便聊聊就安
排店面。也有内推的,反应慢一些,但也有反应。

店面
F: add two binary string, follow up是任意进制 (最多到16进制),第一次面,脑
子不灵,加上用collabedit时把网页调成125%,改code是两行叠一起了,没法看。就没
有时间做第二题了。
本以为妥妥悲剧了,结果国人小哥直接防水让onsite,感谢感谢。
L:又是一个中国小哥,
1.maximum depth of tree 热身
2.find number in rotated sorted array
3.把一个数,比如24,写成factor的乘积组合, 2*12, 2*2*3,。。。。(这道本来
不要求,只要说思路,但是我边说思路变写,很快就写完了)

onsite
F:1.find bad version, 比如isgood(version 1) = true, isgood(version 30) =
false, 找出第一个出错的version
2.BST inorder tranverse
3. 把string转化成floating number(stof)
behavior question的最后烙印来了一道按列打印tree,follow up是不用hashmap存
node的水平距离,用vector存,如何做,onepass,不准先求树的width
4. system design: 每个record有个很大field,比如年龄,性别,爱好等。给一个
field的组合,比如小于25岁,爱好体育,query满足这些组合条件的用户个数

L:
1.max point on line/ (如何不是整数坐标如何处理,需要改写hashmap的compare)
2.special container add/remove/removeRandom at O(1): array + hashmap

3.k-way sort given a stream iterator, vector,
4.product of other elements; 考虑1个0 和2个0 的情况
5.实现movemem( void* src, void* dest)

6.system design: tiny url
7.host manager那轮最后问了一个,如何在不影响功能的情况下,把一个data center
的数据复制到另外一个新的data center去。

G:
1. find all rotation symmetric numbers less than N digits, 16891 -> 16891,
2. give integer, 12345, 返回 32154
give a target string and list of strings, find the longest string that
has target as prefix, follow up, stream of target string, 用trie,每个节点保
留最长string信息。
3. integer array add one
rotation abc->bcd->cde, give a list of strings, group them if them are
rotations.
居然给我laptop,然后直接上面写,然后debug通过,给test case通过

4. given grid of colors, coordinate of a point and its color, find the
perimeter of the region that has the same color of that point.
print all morse code given the length constraints, short “*” takes one
, long “——“takes two. (find a bug in the code) 就是排列组合的典型题
5. design: chromecast, how to know which app can be supported? There is a
cloud that can give the information to the chrome cast, appID, deviceID,
cache design.