g***a 发帖数: 58 | 1 八月的时候面的fb,电面和onsite都是local的,发个面经给版上备战的xdjm参考,求
攒rp
电面:
先聊了聊自己的经历,为什么要来fb之类的问题,因为我有图像处理的背景,就问了一
题相关的。
给一个2D board,上面由 0 和 1 组成,0 背景,1是图像,求里面有多少个连通域,
follow up 是每个连通域的面积是多大。我先写了recursive的做法。后来面试官又要
求了iterative的做法
面完一小时之内,recruiter发邮件说电面过了,可以安排onsite
onsite:
第一轮:主要谈自己以前做的东西,面试官问得比较细,总之就扯了扯。问了一题
coding,给一个数组,问里面有没有两个数相加等于0,给了 O(n) time O(n) space的
做法,和 O(nlog n ) time和 O(1)space的做法
第二轮:给一个bst,和其中一个节点的value,求在bst中比这个节点大的下一个value
,面试官要求 O(1) space和 O(log N) time的解法。
第三轮: regular expression match, leetcode上原题,先写了 dp 的解法,面试官要
求我再写一下recursion的解法,写完后问了两个算法各自的复杂度
第四轮:design,设计手机系统,可以查看周围的好友,饭店,电影院等等
一星期后recuiter打电话,杯具
个人感觉fb面得题目的确不难,基本都见过,但是每道题基本上都问了很多种解法,问
得比较细,而且一定要bug free,这个比较难做到。面经就大致这样了,大家加油共勉
~ |
l*********8 发帖数: 4642 | |
l*****a 发帖数: 14598 | 3 好银,先顶后看
,
【在 g***a 的大作中提到】 : 八月的时候面的fb,电面和onsite都是local的,发个面经给版上备战的xdjm参考,求 : 攒rp : 电面: : 先聊了聊自己的经历,为什么要来fb之类的问题,因为我有图像处理的背景,就问了一 : 题相关的。 : 给一个2D board,上面由 0 和 1 组成,0 背景,1是图像,求里面有多少个连通域, : follow up 是每个连通域的面积是多大。我先写了recursive的做法。后来面试官又要 : 求了iterative的做法 : 面完一小时之内,recruiter发邮件说电面过了,可以安排onsite : onsite:
|
m******s 发帖数: 1469 | 4 Zan!
,
【在 g***a 的大作中提到】 : 八月的时候面的fb,电面和onsite都是local的,发个面经给版上备战的xdjm参考,求 : 攒rp : 电面: : 先聊了聊自己的经历,为什么要来fb之类的问题,因为我有图像处理的背景,就问了一 : 题相关的。 : 给一个2D board,上面由 0 和 1 组成,0 背景,1是图像,求里面有多少个连通域, : follow up 是每个连通域的面积是多大。我先写了recursive的做法。后来面试官又要 : 求了iterative的做法 : 面完一小时之内,recruiter发邮件说电面过了,可以安排onsite : onsite:
|
s*w 发帖数: 729 | |
T******u 发帖数: 110 | 6 fb的面试官水平还是挺高的,比a似乎要强一些
,
【在 g***a 的大作中提到】 : 八月的时候面的fb,电面和onsite都是local的,发个面经给版上备战的xdjm参考,求 : 攒rp : 电面: : 先聊了聊自己的经历,为什么要来fb之类的问题,因为我有图像处理的背景,就问了一 : 题相关的。 : 给一个2D board,上面由 0 和 1 组成,0 背景,1是图像,求里面有多少个连通域, : follow up 是每个连通域的面积是多大。我先写了recursive的做法。后来面试官又要 : 求了iterative的做法 : 面完一小时之内,recruiter发邮件说电面过了,可以安排onsite : onsite:
|
w******i 发帖数: 10 | |
q*********o 发帖数: 96 | 8 感觉楼主都做出来了阿,解法也都很好,为啥还是悲剧了么
,
【在 g***a 的大作中提到】 : 八月的时候面的fb,电面和onsite都是local的,发个面经给版上备战的xdjm参考,求 : 攒rp : 电面: : 先聊了聊自己的经历,为什么要来fb之类的问题,因为我有图像处理的背景,就问了一 : 题相关的。 : 给一个2D board,上面由 0 和 1 组成,0 背景,1是图像,求里面有多少个连通域, : follow up 是每个连通域的面积是多大。我先写了recursive的做法。后来面试官又要 : 求了iterative的做法 : 面完一小时之内,recruiter发邮件说电面过了,可以安排onsite : onsite:
|
r****7 发帖数: 2282 | 9 看不出来这几题为什么会挂人
你答的速度怎样?时间一轮只够问一题么?
,
【在 g***a 的大作中提到】 : 八月的时候面的fb,电面和onsite都是local的,发个面经给版上备战的xdjm参考,求 : 攒rp : 电面: : 先聊了聊自己的经历,为什么要来fb之类的问题,因为我有图像处理的背景,就问了一 : 题相关的。 : 给一个2D board,上面由 0 和 1 组成,0 背景,1是图像,求里面有多少个连通域, : follow up 是每个连通域的面积是多大。我先写了recursive的做法。后来面试官又要 : 求了iterative的做法 : 面完一小时之内,recruiter发邮件说电面过了,可以安排onsite : onsite:
|
g***a 发帖数: 58 | 10 coding速度应该不是问题,基本上一说题目立刻就有思路了,没耽搁啥时间,但是我没
有做到bug free,简单的题目有bug就挂了
【在 r****7 的大作中提到】 : 看不出来这几题为什么会挂人 : 你答的速度怎样?时间一轮只够问一题么? : : ,
|
|
|
g********r 发帖数: 89 | |
l*****a 发帖数: 14598 | 12 第二轮一个小时就问了这一道题?
【在 g***a 的大作中提到】 : coding速度应该不是问题,基本上一说题目立刻就有思路了,没耽搁啥时间,但是我没 : 有做到bug free,简单的题目有bug就挂了
|
p*****2 发帖数: 21240 | 13 用mongo可做
【在 s*w 的大作中提到】 : 大赞 : 不懂这个系统设计该说啥
|
y*******9 发帖数: 1 | 14 谢谢楼主分享啊!电话面的那道题连通域的意思是上下左右相邻的1算作一个连通域的意
思么? |
m*****9 发帖数: 19 | 15 一点小bug也不行吗?如果经过面试官提醒,迅速修正了bug呢?或者写完,自己发现
bug修正了
【在 g***a 的大作中提到】 : coding速度应该不是问题,基本上一说题目立刻就有思路了,没耽搁啥时间,但是我没 : 有做到bug free,简单的题目有bug就挂了
|
D*********G 发帖数: 193 | 16 自己发现bug没问题
FB题相对简单,但是对bug free要求很高
【在 m*****9 的大作中提到】 : 一点小bug也不行吗?如果经过面试官提醒,迅速修正了bug呢?或者写完,自己发现 : bug修正了
|
m*****9 发帖数: 19 | 17 被面试官点出bug,就是基本挂了?
【在 D*********G 的大作中提到】 : 自己发现bug没问题 : FB题相对简单,但是对bug free要求很高
|
D*********G 发帖数: 193 | 18 看人
看bug的原因,如果是根本算法或者corner case还是比较严重的
【在 m*****9 的大作中提到】 : 被面试官点出bug,就是基本挂了?
|
l*********1 发帖数: 936 | 19 这个BST 应该15分钟解决问题,是个warmup question
如果允许递归两三分中就写好了。 就是不允许递归,也不难。
如果花一个小时,这轮肯定悲剧了
【在 l*****a 的大作中提到】 : 第二轮一个小时就问了这一道题?
|
l*********1 发帖数: 936 | |
|
|
l*****a 发帖数: 14598 | 21 需要递归吗?
Node greater=null;
Node cur=root;
while(cur!=null) {
if(cur.val<=target) { cur=cur.right; }
else { greater=cur; cur=cur.left; }
}
if (greater==null) // no result
else return greater.val;
不需要15分钟把
【在 l*********1 的大作中提到】 : 这个BST 应该15分钟解决问题,是个warmup question : 如果允许递归两三分中就写好了。 就是不允许递归,也不难。 : 如果花一个小时,这轮肯定悲剧了
|
l*****a 发帖数: 14598 | |
C*********e 发帖数: 587 | |
l*********1 发帖数: 936 | 24 我说最坏情况15分钟必须解决问题,你看帖要仔细。
当然2,3分钟解决最好。
【在 l*****a 的大作中提到】 : 需要递归吗? : Node greater=null; : Node cur=root; : while(cur!=null) { : if(cur.val<=target) { cur=cur.right; } : else { greater=cur; cur=cur.left; } : } : if (greater==null) // no result : else return greater.val; : 不需要15分钟把
|
l*****8 发帖数: 1083 | 25 靠,我还想regular expression这道题不好写啊,还要bug free。。
原来lz是来忽悠人的,想让大家知难而退?
【在 l*****a 的大作中提到】 : no : lz是挖坑的 : http://www.mitbbs.com/article_t/JobHunting/32795903.html
|
x**********a 发帖数: 1372 | |
m*****9 发帖数: 19 | 27 谢谢回答啊。加一错误这种是不是也算严重的?
【在 D*********G 的大作中提到】 : 看人 : 看bug的原因,如果是根本算法或者corner case还是比较严重的
|
g***a 发帖数: 58 | 28 FT,又没规定mit的账号只能本人用,不能借人用。版上长期潜水的又不是一个两个,临
时想发个帖子发现忘记原来账号密码很正常好不好,我只是发帖没查之前发了什么而已
……
我八月份的时候就是面的这几题,西雅图面的,但信不信由你,ls的愤青们要是觉得是
坑,大不了不看就好了,反正考到同一题的概率很小,要觉得不是坑,拿来练练手也没
啥不好,这些也算常见题 |
l*****8 发帖数: 1083 | 29 8月份面的,憋到快11月了才发个面经,不合常理
【在 g***a 的大作中提到】 : FT,又没规定mit的账号只能本人用,不能借人用。版上长期潜水的又不是一个两个,临 : 时想发个帖子发现忘记原来账号密码很正常好不好,我只是发帖没查之前发了什么而已 : …… : 我八月份的时候就是面的这几题,西雅图面的,但信不信由你,ls的愤青们要是觉得是 : 坑,大不了不看就好了,反正考到同一题的概率很小,要觉得不是坑,拿来练练手也没 : 啥不好,这些也算常见题
|
H**C 发帖数: 7523 | |
|
|
g***a 发帖数: 58 | 31 这有啥不合理的,就非要面完立刻脑热发帖,就没别的事情可以忙了?
不过算了,你要觉得不合理就不合理吧,不想再废话了……说实话,我是真没留意之前
朋友发的贴,被觉得是坑也挺正常的,该解释的咱也解释了,咱真要挖坑也不至于智商
低成这样自相矛盾吧,反正您自个儿看着办吧
【在 l*****8 的大作中提到】 : 8月份面的,憋到快11月了才发个面经,不合常理
|
l*****a 发帖数: 14598 | 32 好多坑都是自相矛盾啊
你看看那个AG对比的
向你们挖坑的需要经常挖不同的坑,想编圆的话也挺难的
【在 g***a 的大作中提到】 : 这有啥不合理的,就非要面完立刻脑热发帖,就没别的事情可以忙了? : 不过算了,你要觉得不合理就不合理吧,不想再废话了……说实话,我是真没留意之前 : 朋友发的贴,被觉得是坑也挺正常的,该解释的咱也解释了,咱真要挖坑也不至于智商 : 低成这样自相矛盾吧,反正您自个儿看着办吧
|
g***a 发帖数: 58 | 33 汗。。。没必要啊,大家找工作都挺忙,故意挖坑捣乱。。这要多变态啊。。
吃饱了撑的,真没那空。。
【在 l*****a 的大作中提到】 : 好多坑都是自相矛盾啊 : 你看看那个AG对比的 : 向你们挖坑的需要经常挖不同的坑,想编圆的话也挺难的
|
l*****8 发帖数: 1083 | 34 面完当然立刻发面经。。。面完3个月还记得面试细节,那也不是常人。。。
【在 g***a 的大作中提到】 : 这有啥不合理的,就非要面完立刻脑热发帖,就没别的事情可以忙了? : 不过算了,你要觉得不合理就不合理吧,不想再废话了……说实话,我是真没留意之前 : 朋友发的贴,被觉得是坑也挺正常的,该解释的咱也解释了,咱真要挖坑也不至于智商 : 低成这样自相矛盾吧,反正您自个儿看着办吧
|
t*****3 发帖数: 112 | 35 没这么简单,如果target所对应节点没有右子树,就得回头看target在哪个最近节点的
左子树上。
【在 l*****a 的大作中提到】 : 需要递归吗? : Node greater=null; : Node cur=root; : while(cur!=null) { : if(cur.val<=target) { cur=cur.right; } : else { greater=cur; cur=cur.left; } : } : if (greater==null) // no result : else return greater.val; : 不需要15分钟把
|
l*****a 发帖数: 14598 | 36 你说的情况,那个else 分支可cover吧
【在 t*****3 的大作中提到】 : 没这么简单,如果target所对应节点没有右子树,就得回头看target在哪个最近节点的 : 左子树上。
|
g********r 发帖数: 89 | 37 nice. O(log(n)) 就可以找到greaterNode
递归如何做呢?
非递归还可以用Moris inorder traverse,也是O(1) space, 但是time就是O(n)了,况
且代码复杂很多,杀鸡用牛刀的感觉。
【在 l*****a 的大作中提到】 : 需要递归吗? : Node greater=null; : Node cur=root; : while(cur!=null) { : if(cur.val<=target) { cur=cur.right; } : else { greater=cur; cur=cur.left; } : } : if (greater==null) // no result : else return greater.val; : 不需要15分钟把
|
t*****3 发帖数: 112 | 38 target=4,你试试你的程序返回什么
5
/
3
/
1 4
【在 l*****a 的大作中提到】 : 你说的情况,那个else 分支可cover吧
|
l********s 发帖数: 358 | 39 第一题的连通域是什么意思?能详细解释一下吗?
,
【在 g***a 的大作中提到】 : 八月的时候面的fb,电面和onsite都是local的,发个面经给版上备战的xdjm参考,求 : 攒rp : 电面: : 先聊了聊自己的经历,为什么要来fb之类的问题,因为我有图像处理的背景,就问了一 : 题相关的。 : 给一个2D board,上面由 0 和 1 组成,0 背景,1是图像,求里面有多少个连通域, : follow up 是每个连通域的面积是多大。我先写了recursive的做法。后来面试官又要 : 求了iterative的做法 : 面完一小时之内,recruiter发邮件说电面过了,可以安排onsite : onsite:
|
g***a 发帖数: 58 | 40 连通域是按照相邻关系来定义的,所有相邻的值相同的pixel组成的区域
相邻可以定义成4联通(上下左右, VN neighborhood),或者8连通(加上左上,右下,左
下,右上,Moore neighborhood),这个要和面试官confirm一下.
比如下面这个例子
0 0 1 0
1 0 0 0
1 1 0 1
4联通的话,“1”组成的连通域有3个,“0”组成的连通域只有1个。
题目比较基本,用graph traversal就可以了。
【在 l********s 的大作中提到】 : 第一题的连通域是什么意思?能详细解释一下吗? : : ,
|
|
|
l*****a 发帖数: 14598 | 41 5 ah
I set greater for the first compare,right?
【在 t*****3 的大作中提到】 : target=4,你试试你的程序返回什么 : 5 : / : 3 : / : 1 4
|
g***a 发帖数: 58 | 42 我觉得是对的,解法很精练
【在 l*****a 的大作中提到】 : 5 ah : I set greater for the first compare,right?
|
t*****3 发帖数: 112 | 43 Sorry, my mistake. Ur correct.
【在 l*****a 的大作中提到】 : 5 ah : I set greater for the first compare,right?
|
v***o 发帖数: 287 | 44 比如下面这个例子
0 0 1 0
1 0 0 0
1 1 0 1
4联通的话,“1”组成的连通域有3个,“0”组成的连通域只有1个。
是不是说反了?
【在 g***a 的大作中提到】 : 连通域是按照相邻关系来定义的,所有相邻的值相同的pixel组成的区域 : 相邻可以定义成4联通(上下左右, VN neighborhood),或者8连通(加上左上,右下,左 : 下,右上,Moore neighborhood),这个要和面试官confirm一下. : 比如下面这个例子 : 0 0 1 0 : 1 0 0 0 : 1 1 0 1 : 4联通的话,“1”组成的连通域有3个,“0”组成的连通域只有1个。 : 题目比较基本,用graph traversal就可以了。
|