📣 4th of July限时特惠: VIP通行证立减$68
回复: 34
跳转到指定楼层
上一主题 下一主题
收起左侧

Facebook PhD intern 面经

全局:

2017(7-9月) 码农类General 博士 实习@meta - 内推 - 技术电面  | | Pass | 应届毕业生

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
楼主通过地里内推版找到大神内推,成功得到面试机会。

一面:10月10号,白人大叔,3sum, 4sum, n-sum.
Skype面试,上来没有开视频,不过楼主不喜欢看不到人,主动要求打开视频。
先是一通介绍,然后聊了一下专业背景。大叔态度很nice,于是楼主兴致也高,聊得比较high。
到15分钟多的时候大打断说我们还是先做题吧,写完再聊。于是正式进入coding部分。
一上来给了一道3sum,10分钟秒了,边写边说。主要是觉得题目太简单,怕体现不出优劣,于是各种主动求聊。大部分精力放在怎么引起话头上。每写一点都在解释,然后发散说待会测试我会怎么测这块。(其实代码量没多少,测试这块提的比较干。。。)

写完要求自己写test case过一遍,同时根据case复述代码逻辑,然后问了复杂度,其实就是一个n^2,不过楼主顺(te)便(yi) 提了一下因为调用了库函数sort,所以需要考虑sort的复杂度,引申到java的sort是quicksort,大叔表示满意。
然后大叔问如果是4-sum呢,楼主心想这个follow up也太水了点,装摸做样想了10秒,说加一个for loop就行,然后边说边加好了,大叔问了一下复杂度,没要再写test case。
此时还剩不到10分钟,大叔说我们再来一题吧,不过不要求你全部写出来,先说思路就行,楼主说不要紧,我能写。。。(面经看多了,感觉不写够两题会被挂)
大叔说之前是3或4个数求和,如果现在不确定是几个数呢,先说思路吧。
楼主一看时间有点紧,先迅速说了for loop框架不能用,需要重写recursive方法,然后又是边
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies



总结:面试真的是持久战,不能预估太轻松。楼主9月份拿到微软on-site,后来Facebook第一轮也过了,各种信心满满,各种觉得可以速度搞定intern问题。结果10月份微软面挂了,然后一回来Facebook二轮又坑爹失误,加面。一时间觉得人生无望,负面想法爆棚:再挂怎么办,一个offer没有怎么办,intern都拿不到,明年full time还怎么面。。。。在二面挂后,三面之前,超多内心戏,度日如年。

然后三面过了,然后松了口气,然后又说要team match。然后match了一周又说match不上。。。无力吐槽。。。

结果最后已经不报希望的时候,offer来了。。。

所以说,好好坚持,不要轻易放弃,轻易说不行,因为只要努力了,总会有收获的。

各位加油!









评分

参与人数 1大米 +30 收起 理由
匿名用户-Z6SED + 30

查看全部评分


上一篇:刚做完的Amazon OA2
下一篇:TripAdvisor 电面+Onsite 挂经
推荐
 楼主| yalanliang 2016-11-17 04:35:43 | 只看该作者
全局:
zpinthehouse 发表于 2016-11-17 04:24
请问楼主从三面过了之后到team match花了一周时间么?team match还有interview么?以及match的team是不是就 ...

三面结束两天后收到通知进入team match过程,然后HR要了top 3 team choices,我选的全是西雅图的team。然后进入等待期,一周后楼主催了一下,结果说还没有match成功,建议试试加州。当时我就坚持要去西雅图,HR说再去试试,结果一天后来offer了。
如果正常情况下,team match是有一个45分钟的电面的。
回复

使用道具 举报

推荐
 楼主| yalanliang 2016-11-13 17:41:16 | 只看该作者
全局:
111180611 发表于 2016-11-13 17:30
楼主能解释一下java String immutable 的问题吗

简单来说就是string本身一旦建立,是不可更改的。而我们在写代码时之所以能够更改,是因为每次改动时,比如String s = s + "B", java实际上是另外建一个空间,然后把s和“B”放入新建空间变成一个新的string,再由s指向新的string。
也就是说用+更新String,底层是有新建空间的过程,比较浪费时间。
回复

使用道具 举报

推荐
 楼主| yalanliang 2016-11-17 03:58:25 | 只看该作者
全局:
youngxie 发表于 2016-11-16 23:44
楼主,请问可以详细说说机器人走迷宫的题目吗?谢谢

就是一个matrix,里面0代表有路,-1代表墙,判断机器人从起点能否走到终点。DFS就行。Follow up是如果求有几条路径,该怎么办,那就是类似leetcode的 Unique path II, 需要DP了,我当时面的时候时间不够,口述了一下。
回复

使用道具 举报

🔗
wtcupup 2016-11-13 17:00:17 | 只看该作者
全局:
恭喜,LRU cache和leetcode上的一摸一样吗
回复

使用道具 举报

🔗
 楼主| yalanliang 2016-11-13 17:07:08 | 只看该作者
全局:
wtcupup 发表于 2016-11-13 17:00
恭喜,LRU cache和leetcode上的一摸一样吗

问的不太一样,实质上一样。
问题是实现一个collection,根据key找value,要求实现add, delete, get, getLast方法。getLast 就是返回上一次变动的key,value对。如果上一个变动的已经删除,则返回上上个。
实质上就是lru。
回复

使用道具 举报

🔗
wtcupup 2016-11-13 17:19:10 | 只看该作者
全局:
yalanliang 发表于 2016-11-13 17:07
问的不太一样,实质上一样。
问题是实现一个collection,根据key找value,要求实现add, delete, get, ge ...

head是most recent used, tail是least recent used node, getLast岂不是就是返回head of double linked list?
回复

使用道具 举报

🔗
 楼主| yalanliang 2016-11-13 17:24:48 | 只看该作者
全局:
wtcupup 发表于 2016-11-13 17:19
head是most recent used, tail是least recent used node, getLast岂不是就是返回head of double linked ...

对,就是返回head,每次add,get或者remove,都要更新list顺序,跟LRU一样。
回复

使用道具 举报

🔗
111180611 2016-11-13 17:30:41 | 只看该作者
全局:
楼主能解释一下java String immutable 的问题吗
回复

使用道具 举报

🔗
zmxrice 2016-11-16 10:49:26 | 只看该作者
全局:
LZ现在team match有结果了么?
回复

使用道具 举报

🔗
kobe24 2016-11-16 11:08:00 | 只看该作者
全局:
楼主强大  我就是fb seattle 明年暑假intern  楼主方便私信个威信吗
回复

使用道具 举报

🔗
 楼主| yalanliang 2016-11-16 11:17:34 | 只看该作者
全局:
zmxrice 发表于 2016-11-16 10:49
LZ现在team match有结果了么?

没有,估计要等一段时间才会有结果吧。我自己也懵B,没有team match的情况下现在正式offer已经签完了。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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