Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jianminchen/85f471880f1bcb48b1494838ffd57887 to your computer and use it in GitHub Desktop.
Save jianminchen/85f471880f1bcb48b1494838ffd57887 to your computer and use it in GitHub Desktop.
Facebook phone screen and onsite - June and July 2018
-- June 2018
电面两道 LC 438, LC88
onsite
1. design fb messenger
2. behavior question加一道coding,给一堆string,然后给另外一个target string,里面可能含有特殊符号*,代表可以match任何的char,
问target是否可以match那堆string里的任何一个,感觉是利口原题,找不到题号了
3. 跟一个中国人吃饭,大力宣传了fb的好,感觉公司文化很好
3. 利口一零
4. 判断一个string是不是一个valid数字,不用考虑E,还有一道是给了一个async copy function,这个函数可以传一个callback函数,
就是说每次async copy一个file结束就可以自动call那个call back function,题目要求是最开始有一个文件在一个机器上,要求把这个
文件以最快速度copy到50个机器上,还有一个限制条件就是一个机器最多只能同时copy文件到另外三个机器
--
电面是可以选择直接去office面,我还是选择了电话面试。45分钟两道题。
onsite自然是在西雅图了。F家的约面试的邮件里有lyft折扣码,但需要做一些操作,给你免费打车。我面试之前才看到,没来得及去弄。
两轮coding,各45分钟。两轮system design,也是各45分钟。中间有一轮behavior + coding。然后还有一顿中饭。
--
Phone screen:
一道coding是LC349。然后一道小followup是如果两个ary都排好序了,某个ary的length显著大于另一个有没有更优解。
LC269
--
最近脸的面试多了一轮coding。以前就是两轮coding,现在变成三轮了。有点郁闷。
1. 检查BST。两个sorted array找交集。
2. 给一个html,再给一个限定的总长度,要求删掉一些字符使得html仍然是valid的并且能fit进长度。
3. 一个string找最长包含m个unique字符的字符串。
4. 设计instagram
5. behavior
--
找人内推了一波。
hr安排了店面:number of islands, follow up 输入数据量很大该怎么办~
然后约了一周之后的昂塞:
1. 一道LC143,楼主刷题不精没做过,当场现做,还被好几次友情提示。
2. 设计题,内容有些长,差不多就是给你了一段代码,你先指出哪里不太好。接着就问我该从什么地方修改(比如设计那些api,数据库,
server怎么搭建).....跪
午餐时间
3. 这一轮是BQ,然后出了一道比较简单的题,给你一个无序数组,一个target value, 如果有连续的任意个数加起来等于target,就返回true。
4. 给了一个map,key是联系人,value对应的是邮箱list。如果任意两个人有相同的邮箱,那么他们就是一组的(如果A和B有某个相同邮箱,B和C
也有某个相同邮箱,但是A和C没有相同邮箱,那么ABC也是一组的)。返回所有的组。同样跪,又被友情提示了好多。
--
脸书occulus onsite 挂经. 1point3acres
1. 系统设计 脸书的首页怎么设计
2. strstr的暴力解法 加 3sum
3. BQ
4. isValidNumber + 拓扑里面有环
--
刚收到HR通知说不准备move forward 我自认为觉得面得还行 但是不知道为什么挂。 HR给的答复说我whiteboard有问题 然后么有optimal
solution 关键是STRSTR 面试官要求我的是暴力解法 然后最后一轮coding 面试官题意给的不清 都是一点一点问出来的 我写的时候一边讲
一边写 最后walk through 有bug我自己也修好了 然后没让我修 直接拍照片说下一道题 拓扑排序也是 我写完了 之后跟我说如果有环怎么办
也有可能是我自己的问题 没有问清题意
不管怎么样 move on了 整体来说面试流程是pos的
---
1. LC45 变形,里面的每个数字可以重复使用,还被找出来一个edge case没考虑到,心酸。。。
2. LC91
最后还有五分钟问问题
--
6/27
废话不多, 与FB无缘。面得时候觉得完全没有问题。但是结果却是fail。move on
第一轮: 找最近的k个points
第二轮: 1小时BQ,high level talk, don't go detail
吃饭
第三轮: system design,给一个API, 根据输入的语种,翻译出相应的语言的文字。 代码是提供的。需要分析代码优缺点。
follow up, 如何设计去选择fb界面显示的语言。
第四轮:数字翻译英文。 应该是原题。
--
intern 1/6/2018
facebook师兄内推,可能是写了比较详细的research proposal,hr发了邮件,只有两轮面试,第一轮面coding,第二轮team match。
第一轮coding是一个三哥面的,两道题:
第一个是求一个matrix中任意一个sub matrix中element的和,lc 308, 不过需要用积分图(integral image)做,也就是read heavy,
要求查询复杂度是O(1),问了build积分图的复杂度(O(hw)),写代码,要求bug free
第二个是问有n个pair (x1, y1), (x2, y2) .. (xn, yn),给定一个target k, 要求返回任意两对pair (xi, yi), (xj, yj),使得
xi+xj = yi+yj = k.
一开始我用了sort+2 pointer做,复杂度O(nlogn),三哥表示能work,让我写了伪代码,接着follow up,问能不能O(n),我说可以,用
一个dict存xi(我用python) 对应每个xi存的value是一个set,放yi, 一遍循环,如果k-xi在这个dict并且k-yi在这个xi的value set里,
就返回,不知道是不是lc原题,大家可以在下面给出题号
第一轮面试遇到三哥还是挺犯怵的,而且我写的第一遍并不是bug free,写完他立刻说,你的代码有bug,说了三遍,不过后来我都自己查了
出来并改正
--
Round1: Read4K 2 (modified) 出了好几个bug,白板调了10分钟。(没做到第二题)
Round2: System Design Instagram
Round3: BQ 35 min 非常刁钻 的问题。。。比如别人上次给你提过的建议是什么(你的缺点是什么) 怎么改正
25 min 给了一个面经没有的 medium 题,一个多叉树,每个节点有三种状态,0,1,2. 要求如果子节点全部为2,
父节点也为2. 子节点全部为0,父节点为0,其余情况都是为1.
给你一个已经合法的树,实现一个 改value 的函数 (node, targetValue),难点在怎么连带 改其他需要 改值的node
Round4: 第一题 简单的BFS, DFS。 第二题是 类似 谷歌面经 给 一堆 长方形 求生成随机点。
Round5: 简单题,给二叉树前序输出,恢复这个树. (自己犯抽...一开始坚持要写 iterative 没写出来。。。最后整了个recurisve,
也没时间做到第二题了。)
补充内容 (2018-3-2 10:44):
第五题给的是 BST 的前序输出。
---
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment