一亩三分地论坛

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

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

FB面经集

[复制链接] |试试Instant~ |关注本帖
EchoO 发表于 2015-7-4 00:29:57 | 显示全部楼层 |阅读模式

2015(4-6月) 码农类 硕士 全职@Facebook - 内推 - Onsite |Passfresh grad应届毕业生

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

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

x
时间线:
3月份内推Fb,不久就收到拒信,但是说信息已经在系统里了。5月初收到hello from facebook,中旬第一轮电面,加面在一周后。六月中旬onsite,几天后通知要reference,前两天收到offer。把前前后后搜到的所有面经和解法都拿出来,已经放在附件里供大家下载。
一面:
给定任务AABCB, 冷却时间k(相同任务之间的最短距离时间),任务顺序不能变,问完成任务的总时间。. Waral 鍗氬鏈夋洿澶氭枃绔,
例子:AABCB, k=2, A**ABC*B, 时间为8.
解法:用hashtable保存上次的时间。
Followup1:如果k很小,怎么优化?
解法:之前的hashtable的大小是unique task的大小,如果k很小,可以只维护k那么大的hashtable。
Followup2: 如果可以改变任务的顺序,最短的任务时间是多少?. Waral 鍗氬鏈夋洿澶氭枃绔,
例子:AABBC, K=2, AB*ABC, 时间为6.
解法:根据每个任务出现的频率排序,优先处理频率高的。但是具体细节没有时间讨论。
感觉前两问回答的还好,就是细节和反应有点慢,最后一问没时间讨论。预感非常强,肯定会被加面,果然。. visit 1point3acres.com for more.


加面:
华裔小哥放水了。
1. strstr, 不需要kmp算法,brute force

2. first bug version, 就是找左边界



onsite:
据说new grad是没有design的,没准备也没碰到。三轮,两轮ninja,一轮jedi。jedi的题一般很简单,主要是扯淡。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
因为签了NDA,具体的就不说了,但是感觉难度还行,主要是要准确、快、最优解和对复杂度的掌握。
1. 三姐,但是说了两句后,感觉是个靠谱的妹纸。虽然在问复杂度的时候还是奇葩了下,而且最后被拍照了。
只有一题,leetcode原题。

2. 华裔小哥,一进门就春风满面,有种不用担心,我会放水的哦的感觉。然而并没有....
第一题时没好好交流,以为是原题,就把答案嗖嗖写上去了,还解释了好半天。其实是简单变形,但又写了两次才对。
后来想想其实有个小bug,但是小哥用java,所以没看出来,哈哈哈哈。
第二题,还没吸取教训,以为很简单,谁知道是要往图上去想。不难,但是以为最多到树,所以根本没好好思考。
不过以我和小伙伴的经历来说,到了图或者trie这块,只要能想到思路,不用具体实现就行。.鏈枃鍘熷垱鑷1point3acres璁哄潧

3.白人小哥,扯淡扯淡扯淡扯淡。突然来了个特别特别特别简单的题。

. visit 1point3acres.com for more.

关于fb的几句话:
1. 刷面经啊小伙伴们
2. 准确、快、最优解和对复杂度的掌握
3. 多准备几个扯淡的问题,不然好尴尬
4. refer请直接消息我


关于找工作的几句话:
1. 虽然运气重要过实力,但是每个看似分分钟找到工作的人背后,也许是数月的挣扎
2. 别老想着题刷好了再申请。在fb看到一句话,done is better than perfect. .1point3acres缃
3. 道路阻且长,找个基友一起吧

fb.pdf

121 KB, 下载次数: 478, 下载积分: 大米 -1 升

评分

6

查看全部评分

本帖被以下淘专辑推荐:

 楼主| EchoO 发表于 2015-7-18 21:04:42 | 显示全部楼层
sxdong92 发表于 2015-7-18 11:01
首先恭喜楼主~

对电面的Followup1:如果k很小,怎么优化?有点疑惑。。
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
就是每次去遍历这个的hashmap,发现与当前时间的差大于k的,就删除。所以hashmap size最大是k。
回复 支持 1 反对 0

使用道具 举报

hulahu 发表于 2015-7-18 09:40:08 | 显示全部楼层
这个 时间 5 ==> ABCAB  k = 2 ?????

Followup2: 如果可以改变任务的顺序,最短的任务时间是多少?
例子:AABBC, K=2, AB*ABC, 时间为6.
回复 支持 1 反对 0

使用道具 举报

totolin 发表于 2015-7-16 20:08:31 | 显示全部楼层
Thanks! It would help a lot!
回复 支持 反对

使用道具 举报

ccgogo123 发表于 2015-7-17 00:12:40 | 显示全部楼层
楼主,请问你是面试之后问你要的reference,然后等了两周才有结果?我是上周四去西雅图面的,周一拿的reference,然后就没有消息了。
回复 支持 反对

使用道具 举报

storm_hair 发表于 2015-7-17 01:47:07 | 显示全部楼层
thank you very much
回复 支持 反对

使用道具 举报

 楼主| EchoO 发表于 2015-7-17 02:05:03 | 显示全部楼层
ccgogo123 发表于 2015-7-17 00:12
楼主,请问你是面试之后问你要的reference,然后等了两周才有结果?我是上周四去西雅图面的,周一拿的refer ...

嗯,我觉得要reference就差不多定了。恭喜啦~
回复 支持 反对

使用道具 举报

seenome 发表于 2015-7-18 08:58:33 | 显示全部楼层
谢谢楼主,正好用得着。
回复 支持 反对

使用道具 举报

sxdong92 发表于 2015-7-18 11:01:19 | 显示全部楼层
首先恭喜楼主~

对电面的Followup1:如果k很小,怎么优化?有点疑惑。。

k很小是不是可以意味着O(k * n) ~ O(n)?那我用一个长度为k的queue存之前k个时间单位执行的历史记录可以吗,每Iterate到一个新的task时候,遍历一遍queue来决定当前task是否需要等待。执行完把这个入队,队首元素出队抛弃。这样时间复杂度是O(k * n);

当然也可以严格O(n),就是构建一个LRU Cache,capacity大小为k。不大理解楼主的固定容量的hashmap如何实现,具体细节是怎样的?(我习惯用java,有现成实现吗)
.鏈枃鍘熷垱鑷1point3acres璁哄潧
补充内容 (2015-7-18 12:12):.鏈枃鍘熷垱鑷1point3acres璁哄潧
啊我傻逼了,用linked hashmap
回复 支持 反对

使用道具 举报

wyc25013 发表于 2015-7-18 11:45:35 | 显示全部楼层
感谢楼主分享 请问一下refer有什么要求吗?
回复 支持 反对

使用道具 举报

 楼主| EchoO 发表于 2015-7-18 21:03:24 | 显示全部楼层
hulahu 发表于 2015-7-18 09:40
这个 时间 5 ==> ABCAB  k = 2 ?????

Followup2: 如果可以改变任务的顺序,最短的任务时间是多少?

啊 是的呢。举例子的时候没仔细想。
回复 支持 反对

使用道具 举报

 楼主| EchoO 发表于 2015-7-18 21:05:11 | 显示全部楼层
wyc25013 发表于 2015-7-18 11:45. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
感谢楼主分享 请问一下refer有什么要求吗?

也没啥...自己觉得没问题就行。
回复 支持 反对

使用道具 举报

sxdong92 发表于 2015-7-19 03:49:35 | 显示全部楼层
EchoO 发表于 2015-7-18 21:04
就是每次去遍历这个的hashmap,发现与当前时间的差大于k的,就删除。所以hashmap size最大是k。

可以用linked hashmap,map装满k个元素以后,每次需要多增加元素时候就直接删掉第一个即可,不用遍历一遍map~ :)

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

ccjobhunter2011 发表于 2015-8-20 07:02:27 | 显示全部楼层
楼主reference check 需要3个人的电话联系方式?可以找你同学(如果你是刚毕业学生?)
回复 支持 反对

使用道具 举报

laurie洁 发表于 2015-8-20 14:29:59 | 显示全部楼层
感觉第一题的follow-up是考用linkedhashmap去维护k size的list. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
第二个follow-up可以用TreeMap,每次把最早的那个任务挑出来
回复 支持 反对

使用道具 举报

 楼主| EchoO 发表于 2015-8-27 13:19:29 | 显示全部楼层
ccjobhunter2011 发表于 2015-8-20 07:02
楼主reference check 需要3个人的电话联系方式?可以找你同学(如果你是刚毕业学生?)

. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷给了两个老师的联系方式。同学不太好吧
回复 支持 反对

使用道具 举报

 楼主| EchoO 发表于 2015-8-27 13:21:09 | 显示全部楼层
sxdong92 发表于 2015-7-19 03:49
可以用linked hashmap,map装满k个元素以后,每次需要多增加元素时候就直接删掉第一个即可,不用遍历一遍 ...
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
嗯,cpp好像没有这个
回复 支持 反对

使用道具 举报

 楼主| EchoO 发表于 2015-8-27 13:21:32 | 显示全部楼层
laurie洁 发表于 2015-8-20 14:29
感觉第一题的follow-up是考用linkedhashmap去维护k size的list
第二个follow-up可以用TreeMap,每次把最早 ...
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
挑出最早的?
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-9 02:58

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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