Facebook面经汇总(下篇)



  • 面经1:
    本来邮件里说onsite四轮,结果到了以后说一共五轮,有一轮是reverse shadow,就是说有两个面试官,面我的那个是个新手,另一个面试官也要考察他的表现。好吧,就当一次小白鼠。

    1. behavior+移动零
    2. 数组里找最长的连续儿子数组,满足和等于一个啥。好像还有一题但是完全忘了,只记得很简单。
    3. 设计newsfeed api. Waral
    4. 二叉树拍扁了再拉起来
    5. 做除法以字符串形式返回。第一问是给定精确到小数点后几位,第二问是识别无限循环把循环的部分框起来。

    面经2:

    • 列表divide integer 和 integer to english words.
      白人小哥,都是原题,当时没刷题都不知道是原题,写的都有很多bug,小哥也不提醒有bug就说可以。本以为挂了,第二天hr发信说让我第二次好好practice,希望看到更加strong的coding能力,还给我了个链接让我practice也是醉了.
      random pick max number index with equal probability, lc398改版,问为啥能保证probability相同,第一次写了two pass(先找到最大值,再random pick),让改写one pass

    • 列表还有一道没见过:是interval的题
      公司里有好多employee,给出入职和离职的时间段,打印出每个时间段的在职人数
      输入:
      [1, 2005, 2016]. 1point 3acres
      [2, 2008, 2014]
      [3, 2006, 2008].
      [4, 2010, 2014]. From 1point 3acres bbs
      输出:
      2005-2006: 1. 1point3acres.com/bbs
      2006-2008: 2
      2008-2010: 2
      2010-2014: 3
      2014-2016: 1
      也是白人小哥,人很nice,第二题各种提醒我。最后我把所有时间排序,不管是入职还是离职时间.
      11/22/2016:
      add binary,问了我为啥不用string做,用string做的时间复杂度是多少。我说n+(n-1)+…+1 = O(n^2)
      two sum with duplicate number, 返回所有的可能的index pairs,我用的是map<Integer, Set>

    面经3:
    FB DS:
    版面上很少fb ds的面经,我记得也不太完整,大致是

    1. 概率统计一轮,有让算expectation, probability, 判断是不是independence,总之就是有些tricky的实际问题中的概率问题,也是边聊边解题,LZ个人蛮喜欢这种style,虽然问的比较多也稍微有点难不过都做出来了.
    2. SQL题目,LZ用SQL不多于是之前跟Recuiter说好用R的dplyr syntax,类似于算算Impression, CTR, Join几个tables, summarize几下,如果做DS工作或者project多的童鞋对这些一定不陌生。
    3. Coding:简单哭,find missing element和各种变形
    4. Analytics case study:比较messenger的bottom放在main app里和单独一个messenger app的不同,用什么metrics怎么设计实验,还有些其他的ab testing的问题实在记不起来了
    5. ML case study: LZ因为比较喜欢ML,recuiter说本来是两轮Analytics case study换成一轮ML的,这样bootcamp之后可以match到ML相关

    面经6:

    • 1.印度多年经验老哥,BQ,就那儿总结FB BQ 的帖子看看就好,就是project, conflict啥的。coding postorder tree iterative。

    • 2.国人小哥,一直玩儿手机。。。。。。写个数据结构支持,get, set, delete,last visited key。 很快秒掉。 follow up,怎么opt, 额。。。已经用了 O(1)了, 人后说可以用set。。。感觉follow up答得不是很好,拍了照就走了,lunch 中国小哥带着转了转。

    • 3.sys design, 本来是中国小哥的,但换成了另一个人,感觉ABC,桑心。 friend search。完全没有问scale,就一直纠结在怎么存人上,tree 也不行, hash map也不好, list也不好。。。没有search engine经验的真是不知道他想要啥。。。

    • 4.中国小哥,非常nice, 一直follow我的思路。 1.input friends relation {{1,2}, {2,3}, {3,4}} 把用户存在两个group里, 每个group里大家都不互相认识。所以exp应该g1{1,3} g2{2,4}。
      其他情况和小哥讨论一下,我自己想如何设计都可以,比如所有人都不认。 很快写完,最后考虑corner case的时候,小哥提醒了一下。2.input 是array {1,2,3,0,4}。到达最后一个格子最短步数,每个数字代表最多可以跳几下。应该是lc的题吧,忘记了。不过很快dp秒掉。 后来,小哥就把我送了出来。。。

    面经7:
    店面三个星期前面,三道题,一轮直接onsite
    上个星期四onsite面经,非常简单都是原题面经题。第一轮冷脸烙印,behavior主问项目,加一道题reverse linked list 2 by 2,秒,test case 流程给他看。最后结束的时候,终于不冷脸.

    第二轮亚裔,第一题离原点最近k point,说了prirority_queue和partition两种方法,让我写了前者,bug free,然后问我循环里可不可以优化,因为是logk,我说怎么可能优化,要维持k size,然后他就给我举个例子,如果push的是最大的,我就立马懂了,不用push进去,加个判断条件。第二题,clone graph,秒,然后解释的时候,他问如果最后为空,我说对,push的时候要加个判断,刚准备改,我立马意识到不对,就说可以不用加,因为空的时候最开始就不出现在children数组中,他说对,不过never mind,时间还有6分钟左右,我就问在做一道题吗,他说时间不够,问问题吧。

    第三轮忘了什么人,第一题decode way,从后往前dp,空间优化,bug free,第二题把树转成double linked list,秒,还有接近20分钟,她说very satisfied, 我问还做一道吗,他说没题了,然后聊了下简历,问了我一个项目,他说这是他私人感兴趣,并不算做分数,然后提前结束,成为uday 第一个搞完回到休息室的。
    感觉除了第二轮follow up卡了一下,但是也很快反应过来,加上了,不然做三道题更好,其他都很流畅,也跑test case一下bug free,每道题都是先讲思路,然后写题。除了第三轮大哥不断说,你写吧,不用讲了。

    面完之后感觉应该差不多,然后星期三催了一下,收到据信!
    感觉题都很简单,答的挺好的,交流也没障碍,第二轮稍微瑕疵了一下,但是地里也有很多人卡了一下,拿到offer,问了一起 uday的一些同学,大部分都做的有些缺陷,我想好歹给我个加面吧,结果直接挂了。

    推荐给大家一个CS群,都是找工作的大家聚在一起,定时会在群里分享IT咨询、工作机会,交流大牛的工作心得。
    0_1482530419267_782300758280234399.jpg


登录后回复
 

与 BitTiger Community 的连接断开,我们正在尝试重连,请耐心等待