Created
July 21, 2018 18:16
-
-
Save jianminchen/f6424c25601af8eb915faf78a310f879 to your computer and use it in GitHub Desktop.
Facebook phone screen/ onsite algorithms - June to July 2018 (I)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Facebook phone interview algorithms - July 21, 2018 | |
LC 63 变种,可以上下左右走,返回布尔值,只要找到一条路径即可 | |
LC 91 | |
Find lowest common ancestor | |
LC 387 | |
LC 721 | |
LC 113 | |
Second algorithm, backtracking类题目,类似于subset | |
只想出了时间O(n) 空间O(n)的方法。lesson:归根结底刷题刷的不到位。现场临时想,的确没有想到左右各撸一遍的解法。 | |
.1point3acres网 | |
Code的时候为了省时间用的recursion,和面试官说明这样浪费了一些内存,可以改用iteration来节省内存。面试官表示理解、接受, | |
但是还是希望如果能一次写出最优解最好。 lesson:开始code前,是recursion还是iteration都最好先和面试官商量好。 | |
From 1point 3acres bbs.1point3acres网 | |
1. Behavior 最有挑战性的项目,跟别人有冲突的项目。 给二叉树跟节点和target节点找第一个比target大的节点 | |
2. Coding,search in rotate array,另一个忘了 | |
3. system design:privacy control | |
4. Coding: task schedule in sequence follow up not in sequence | |
5. Coding: multiply without self. 二维图找距离某些点最近的点. | |
上周五面的,地里高频题目convert BST to doubly linkedlist,要求inplace convert然后再convert doubly linkedlist to BST, | |
要求树的高度最小 来源一亩.三分地论坛. | |
-google 1point3acres | |
今天收到HR feedback, 说是positive,但是F家最近不招五年工作经验一下的人了,只能等明年年初有opening在安排onsite. 地里有 | |
小伙伴遇到同样的情况嘛 | |
-- | |
第一题:哈希 | |
Input: | |
A seq of int <3, 4, 1, 2> | |
A target int 5 | |
Output: | |
whether a continuous subseq sums up to the target | |
target 5 -> True.本文原创自1point3acres论坛 | |
target 4 -> True | |
target 6 -> False | |
follow up: 分析时间复杂度,空间复杂度,改成输出最短长度的subsequence的长度,以及有什么test case | |
第二题: 拓扑排序+BFS-google 1point3acres | |
.1point3acres网 | |
n jobs 0 .. n-1 single processor.Executing each job taked one unit of time i, j -> before starting i, we should | |
have finished j Input:n | |
<(i,j)> list ofjob dependencies | |
Output: | |
min req time forfinishing job index 0 | |
Input: | |
6 | |
1 2 | |
1 3 | |
4 1 | |
0 1 | |
4 5 | |
Output: 4 (3, 2, 1, 0) | |
补充内容 (2018-6-14 14:53): | |
在各位地里小伙伴的指点下,我决定更正一下:第二题只是个构建图然后从job0出发的搜索问题,并不是拓扑排序。 | |
--- | |
1. 给一颗树,然后求各个子树和的最大值 | |
2. 给一个数,返回这个数的下一个大的排列,比如 583,返回 835 | |
-- | |
第一轮:LC 247 LC91, LC639 | |
第二轮:LC 17 Followup filter result with a word list LC 336 | |
第三轮: BQ LC145 LC148 | |
第四轮:System Design 台普洱海德 | |
第五轮:ML Design instagram ,news feed | |
-- | |
timeline:6.11电面 6.21 onsite 7.5拿offer | |
电面就一轮,听口音是国人小哥,很nice,聊了会儿天就开始做题 | |
1. 复制链表, follow up复制带有随机指针的链表 | |
2. 所有的subset | |
应该算是我看过的电面里面最简单的了吧。。做完小哥说很好,让我过了一遍dfs最后结果的打印顺序是怎么样的,我就跟他口头叙述一遍,大概是看 | |
我是背题还是真的理解了。这块我掌握的还不错,小哥很满意. | |
onsite 三轮 | |
1. bst变double linked list。recursion秒了,然后第一个follow up是把双链表变回去,要求balance。第二个follow up是在牺牲时间复杂度的 | |
情况下如何优化空间,想了个时间O(n)空间(n)的思路,大概讲了下,小哥一开始没听懂,后来给他画图讲,看他点头我就知道还不错 (我知道应该还有 | |
更好的空间的解法,但是一时没想到) 来源一亩.三分地论坛. | |
2. 全是bq。negative question要准备一下。最后5分钟merge intervals让我讲一下思路,刚开头讲2句面试官说我知道你什么意思了。。emm就这么过了 | |
3. absolute path 小变种,stack解就好了。第二题设计一个class,本质就是lru变种吧,思路和implement都一样,多了一个小api,返回上一次调用的 | |
key的value就好了. 牛人云集,一亩三分地 | |
第三轮面的有点晕晕的,lru思路讲了但是还是没写完。。本来以为可能会挂在这一轮. visit 1point3acres for more. | |
今天接到电话说拿到offer。他说2周的ddl,我说我下周二还有g家面试,他让我开价signon,大概就是他们能给这个signon的话我就拒绝其他面试直接加fb。 | |
然后我报了个他给的数字翻倍,他居然答应了。。 | |
我其实本来想去google的,后来看fb的诚意挺大的,就还是决定去fb了。我下周二去google面试就当一日游了。。 | |
看了下前辈们的经验好像也都是推荐fb的多一点,似乎move fast能学的更多,又知道的小伙伴也希望能评论下这两家对于new grad哪个更好点? | |
哈哈哈不管怎么说还是很幸运,题也不难,自己也正常发挥,拿到offer也是应该吧。辛苦了一年,结果还是很开心的. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment