Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jianminchen/f6424c25601af8eb915faf78a310f879 to your computer and use it in GitHub Desktop.
Save jianminchen/f6424c25601af8eb915faf78a310f879 to your computer and use it in GitHub Desktop.
Facebook phone screen/ onsite algorithms - June to July 2018 (I)
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