一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 14882|回复: 136
收起左侧

FB面试经历,已拿offer,希望能帮到更多的人

    [复制链接] |试试Instant~ |关注本帖
slashGu 发表于 2016-9-12 03:46:25 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Facebook - 内推 - 技术电面 Onsite |Passfresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
本人在美国东部一所大学念EE的master,强行转行成功,所以希望我的经历应该可以帮到很多类似背景的人。
.鐣欏璁哄潧-涓浜-涓夊垎鍦
电面:. From 1point 3acres bbs
一个美国小哥面的我,问题很简单,就是two sum + three sum + follow up,follow up就是怎么不用先排序的方法依然可以用O(n^2)的时间复杂度解决three sum的问题。即使是这么简单的问题,在写的时候我也会不断的从最基本的地方入手,比如最naive的方法是什么,时间复杂度怎么样,可以通过什么方法改进,需要使用怎样的数据结构辅助,或是怎样的预处理。

整场面试下来给我的感觉就是交流比写代码更加的重要,特别是在电面的时候,因为面试官只能看到屏幕,所以需要把自己的任何觉得有用的思路说出来,所谓的think out loud。当然,每写完一个程序,一定要先自己给出一个test case,把程序口头编译一遍给面试官听,以验证算法的正确性。. 1point 3acres 璁哄潧

onsite:
onsite总共4轮,依次是hehavior + coding,coding,午饭,coding。其中午饭是一个FB的工程师领着去食堂吃饭聊天,不会给feedback,是个很好的可以把所有感兴趣的问题提出来的机会,这里具体说一说技术面的情况。

onsite的时候求职者会被安排在一个单独的小房间内,当天的所有面试都会在这里进行,用来写代码的地方是一面用来当白板的墙,由于自己在onsite前一周基本就是在白纸上练习写代码,所以不那么慌张,也建议大家在onsite前也一定要进行这一类型的练习,很有帮助。

behavior的问题主要是看求职者跟FB的公司文化是否匹配,所有的问题都是常规的问题,具体大家可以看地里有一篇专门讲Jedi的帖子,总结的不错,剩下的时间面了两道算法,分别是LC 121, 122。这里需要注意的是,千万不要因为题目做过或是感觉比较简单就直接写代码,一定要注意跟面试官的沟通,跟电面不一样,我当时每一道题都会先画图,让问题可视化,然后跟面试官讲我的思路,得到认可后再开始写代码,并且跟电面一样,也要边写边说为什么这么写。
. 1point 3acres 璁哄潧
第二轮面简单的聊天后开始写代码 LC 33,同样也是先画图可视化,用最naive的方法,就是linear search,复杂度是O(N),但是面试官肯定会说不行,这个时候就跟面试官说如果这个数组是从小到大排好序的话,那么就可以很方便的使用二分搜索的方法,但是这道题的难点就是这个数组只是部分有序的,具体大家可以上网搜索这道很经典的题的解题方法。在写代码的过程中,同样也需要不断的跟面试官沟通,明确题意,问一些该问的问题,比如当是我在写条件判断的时候,问面试官数组中是否存在重复元素。第二题是LC 38,只是输出有所不同,需要把n之前的所有数打印到标准输出上。
. From 1point 3acres bbs
最后一轮coding也是地里出现过的面经,sparse vector dot multiplication,这道题我当时并没有准备到,但是正因为如此,我认为我跟面试官的交流给我加分了不少。面试官首先问我每个vector很大,并不能在内存中存下,该怎么办,我说只需要存下非零的元素和他们的下标就行,然后询问面试官是否可以用预处理后的这两个vector非零元素的index和value作为输入,面试官同意后快速写完O(M*N)的代码,M和N分别是两个vector的长度。面试官说这两个输入如果是根据下标排序好的话应该怎么办,我说可以遍历长度较短的那一个,然后用二分搜索的方法在另一个vector中找index相同的元素,相乘加入到结果中,这样的话复杂度就是O(M*logN)。这时,面试官又问是否可以同时利用两个输入都是排序好这一个特性,我在这个地方有点卡住,但是在白板上写出一个test case,试着用可视化的方法帮助我来进行思考,同时面试官给了一些提醒,最后写出了O(M + N)的双指针方法,成功结束最后一轮面试。

总结一下FB的面试经历,大家也可以很容易的发现,FB的面试题难度其实并不大,重点是需要跟面试官很好的沟通,以及写出bug free的代码,bug free听上去很难,特别是在白板上写代码的情况下,但其实在一边写一边跟面试官交流的过程中,以及在自己给出test case口头编译的时候,所有问题都是可以在面试官指出之前发现的。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

大家如果有什么问题也可以直接回帖,我真心希望能够帮助到更多的人!

评分

30

查看全部评分

本帖被以下淘专辑推荐:

 楼主| slashGu 发表于 2016-9-12 22:31:10 | 显示全部楼层
hanabeast 发表于 2016-9-12 15:38
LZ你交流时候 是test case具体怎么跑啊 每句都过一下么,自己写几个test case一般。 我一般边写程序就边跑t ...
. visit 1point3acres.com for more.
我一般是做题前先用一个test case把问题可视化出来,在图上可以做一些标记,比如画一画指针、栈空间之类的,这样的好处是写代码的思路比较清晰,然后就是如果遇到一些不太明显能看出来的边界情况,可以给一个比较简单的test case验证一下能不能handle。我觉得这样比较好。
回复 支持 3 反对 0

使用道具 举报

zyoppy008 发表于 2016-9-12 03:59:07 | 显示全部楼层
楼主lc刷了几遍 找工作找了多久
回复 支持 反对

使用道具 举报

 楼主| slashGu 发表于 2016-9-12 04:03:31 | 显示全部楼层
zyoppy008 发表于 2016-9-12 03:59
楼主lc刷了几遍 找工作找了多久

刷了300多题,两遍吧,第二遍主要是想各种follow up会怎么问。从今年3月份就开始找工作了,基本上是一边刷题一边面试的节奏

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

zyoppy008 发表于 2016-9-12 04:13:32 | 显示全部楼层
slashGu 发表于 2016-9-12 04:03
刷了300多题,两遍吧,第二遍主要是想各种follow up会怎么问。从今年3月份就开始找工作了,基本上是一边 ...

楼主好样的 三月份到9月份 我6月份开始 到现在9月份 题刚刷完第一遍 还没工作 fb跪在没见过简单题上 之前伤心好久
回复 支持 反对

使用道具 举报

 楼主| slashGu 发表于 2016-9-12 04:15:31 | 显示全部楼层
zyoppy008 发表于 2016-9-12 04:13
楼主好样的 三月份到9月份 我6月份开始 到现在9月份 题刚刷完第一遍 还没工作 fb跪在没见过简单题上 之前 ...

没事儿,主要是抓紧刷题,趁着现在旺季能一波带走,trust your hard work, and have fun!
回复 支持 反对

使用道具 举报

zyoppy008 发表于 2016-9-12 04:17:07 | 显示全部楼层
slashGu 发表于 2016-9-12 04:15
没事儿,主要是抓紧刷题,趁着现在旺季能一波带走,trust your hard work, and have fun!
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
交流的确很重要 但是英语不行 交流不好 怎么练 哭
回复 支持 反对

使用道具 举报

熊亮亮111 发表于 2016-9-12 04:17:41 | 显示全部楼层
请问lz哪天面的啊 哪天收到消息 有没有要reference 第一次update就是offer嘛?
回复 支持 反对

使用道具 举报

 楼主| slashGu 发表于 2016-9-12 04:20:06 | 显示全部楼层
熊亮亮111 发表于 2016-9-12 04:17
请问lz哪天面的啊 哪天收到消息 有没有要reference 第一次update就是offer嘛?

我是8月30去onsite的,过了6个工作日,HR邮件约了打电话,我就知道应该有offer了。我找人内推,所以就没有向我要reference。
回复 支持 反对

使用道具 举报

 楼主| slashGu 发表于 2016-9-12 04:21:15 | 显示全部楼层
zyoppy008 发表于 2016-9-12 04:17
交流的确很重要 但是英语不行 交流不好 怎么练 哭

问问题的交流确实没有比较好的速成的办法,但是做题目的交流,平时多看看LC的discuss和geeksforgeeks,看多了基本上自己也就能说出来了
回复 支持 反对

使用道具 举报

熊亮亮111 发表于 2016-9-12 04:21:48 | 显示全部楼层
slashGu 发表于 2016-9-12 04:20
我是8月30去onsite的,过了6个工作日,HR邮件约了打电话,我就知道应该有offer了。我找人内推,所以就没 ...

所以你是本周五收到约电话的吗  我9.1面的 并没有消息
回复 支持 反对

使用道具 举报

 楼主| slashGu 发表于 2016-9-12 04:23:25 | 显示全部楼层
熊亮亮111 发表于 2016-9-12 04:21. 鍥磋鎴戜滑@1point 3 acres
所以你是本周五收到约电话的吗  我9.1面的 并没有消息

是这周三发邮件约的,然后周五打电话告知offer,昨天就发了offer letter了。他们应该是每周三或者每周五会开会讨论这一周的所有candidates,决定要还是不要。不过你也不要着急,没消息就是好消息~
回复 支持 反对

使用道具 举报

熊亮亮111 发表于 2016-9-12 04:25:08 | 显示全部楼层
好的 谢谢 我给reference人说她大概本周三周四收到fb要reference的邮件但她还没填 不知道这个ref作用多大
回复 支持 反对

使用道具 举报

 楼主| slashGu 发表于 2016-9-12 04:26:48 | 显示全部楼层
熊亮亮111 发表于 2016-9-12 04:25-google 1point3acres
好的 谢谢 我给reference人说她大概本周三周四收到fb要reference的邮件但她还没填 不知道这个ref作用多大

那应该就快了,不用着急
回复 支持 反对

使用道具 举报

熊亮亮111 发表于 2016-9-12 04:29:37 | 显示全部楼层
另外sparse vec prod是我店面的第二题 讨论了各种数据结构和输入的假设最后也是写的 O(m + n)做法
回复 支持 反对

使用道具 举报

zyoppy008 发表于 2016-9-12 04:31:41 | 显示全部楼层
slashGu 发表于 2016-9-12 04:21
问问题的交流确实没有比较好的速成的办法,但是做题目的交流,平时多看看LC的discuss和geeksforgeeks,看 ...
. from: 1point3acres.com/bbs
sounds great 谢谢!
回复 支持 反对

使用道具 举报

 楼主| slashGu 发表于 2016-9-12 04:32:52 | 显示全部楼层
熊亮亮111 发表于 2016-9-12 04:29
另外sparse vec prod是我店面的第二题 讨论了各种数据结构和输入的假设最后也是写的 O(m + n)做法

哈哈,好棒,这题我感觉不难,主要就是看交流,看以后适不适合一起做同事
回复 支持 反对

使用道具 举报

 楼主| slashGu 发表于 2016-9-12 04:33:23 | 显示全部楼层

没事儿,加油!
回复 支持 反对

使用道具 举报

keepworkinghard 发表于 2016-9-12 04:47:17 | 显示全部楼层
lz您是明年5月毕业么?
恭喜拿到offer!
回复 支持 反对

使用道具 举报

 楼主| slashGu 发表于 2016-9-12 04:48:30 | 显示全部楼层
keepworkinghard 发表于 2016-9-12 04:47
lz您是明年5月毕业么?
恭喜拿到offer!

多谢多谢,我今年5月就毕业啦,准备下个月就入职了
回复 支持 反对

使用道具 举报

iPhD 发表于 2016-9-12 04:49:00 | 显示全部楼层
楼主能把那篇专门讲jedi的帖子贴一下吗?是专门针对FB的?多谢
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-11 22:34

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表