FB电面求分析 (转载)# JobHunting - 待字闺中
g*e
1 楼
【 以下文字转载自 SanFrancisco 讨论区 】
发信人: glowinglake (湖清霞远), 信区: SanFrancisco
标 题: FB电面求分析
发信站: BBS 未名空间站 (Wed Apr 18 20:11:16 2012, 美东)
昨天面的。上来先问我简历上的OS project。
之后开始coding,问了一个走迷宫的问题。在一个bool array里面寻找两点的path,并
打印。
我写了一个DFS递归+visited array寻找。
之后他问我complexity。我说空间时间都是O(mn)。
他说我的code时间不是O(mn),我看了下发现我的是exponential,就跟他说了,然后忙
改了下,就是visited set以后不再reset。这样就是polynomial time。他还算满意。
之后他问我如果这个迷宫很大,该怎么处理。我想了下说就分成若干小block,每台机器
算每个小block里可能的boundry to boundry path,并存在一个list里面。这样相邻的
block就可以交流对方的path,然后拓展当前path(我也没完全想出个solution)
他让我写每台机器算block里path和互相交流的过程的伪代码。说类似remote
procedure call。
我瞎写了下,大致就是对每个block边界上的点每对pair求path, 并且有个优化,在寻
找path的过程中如果路径其他边界点,直接添加该path.
然后写机器间交流的伪代码,我更乱写了,大致是根据相邻机器的path list拓展当前
机器的global path.并不停的expand global path list.
最后我问了他几个technical问题。
求分析我这样还有戏吗?
发信人: glowinglake (湖清霞远), 信区: SanFrancisco
标 题: FB电面求分析
发信站: BBS 未名空间站 (Wed Apr 18 20:11:16 2012, 美东)
昨天面的。上来先问我简历上的OS project。
之后开始coding,问了一个走迷宫的问题。在一个bool array里面寻找两点的path,并
打印。
我写了一个DFS递归+visited array寻找。
之后他问我complexity。我说空间时间都是O(mn)。
他说我的code时间不是O(mn),我看了下发现我的是exponential,就跟他说了,然后忙
改了下,就是visited set以后不再reset。这样就是polynomial time。他还算满意。
之后他问我如果这个迷宫很大,该怎么处理。我想了下说就分成若干小block,每台机器
算每个小block里可能的boundry to boundry path,并存在一个list里面。这样相邻的
block就可以交流对方的path,然后拓展当前path(我也没完全想出个solution)
他让我写每台机器算block里path和互相交流的过程的伪代码。说类似remote
procedure call。
我瞎写了下,大致就是对每个block边界上的点每对pair求path, 并且有个优化,在寻
找path的过程中如果路径其他边界点,直接添加该path.
然后写机器间交流的伪代码,我更乱写了,大致是根据相邻机器的path list拓展当前
机器的global path.并不停的expand global path list.
最后我问了他几个technical问题。
求分析我这样还有戏吗?