美国卖车经历分享

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

H1B/绿卡遥遥无期
又不想回国
来东南亚最大的互联网集团工作?
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
查看: 13577|回复: 38
收起左侧

Facebook 二面面经

[复制链接] |试试Instant~ |关注本帖
我的人缘0
songty11 发表于 2016-1-30 01:54:26 | 显示全部楼层 |阅读模式
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】

2016(7-9月) 码农类General 硕士 实习@Facebook - 内推 - 技术电面  | Other | 其他

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

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

x
昨天面完的,被开了一个天大的玩笑,面试前把地里所有的面经都看了一遍,并且做了一遍,还整理成了文档,leetcode上facebook标签的都重新写了遍最优解,心想着这下万无一失了。
结果面试碰到个【没见过的题】,真是给跪了...
面试官是个欧洲白人小哥,自从把题目打出来后,就再没说过话,就看着我这边一边胡言乱语一边敲代码...
然而我感觉写的就是一团乱泥啊!
下面是题目

Given a tree, find the smallest subtree that contains all of the tree's deepest nodes.
                  a
               /  |  \
             b   c   d
           /   \       |
         e      f      g
       /       /  \
      h      i     j
depth of tree: 4
deepest nodes:[h,i,j]
least common ancestor of [h,i,j]: b
return: b

我问面试官这个树的定义呢,我要不要写一写,面试官说不用了,你就随意写吧,我可以【猜】啊!
我就找到leetcode上面哪个lowest common ancestor of binary tree,一通瞎改了改改成了多叉树版本的,这时候我是直接使用了 h,i,j 这几个节点假设是输入的。
然后面试官一直沉默,我说,我觉得这能跑通(我其实一点都不觉得),面试官说哦那你这几个点是什么鬼,我说咦这不是输入么?哦这不是输入啊!那我再写个BFS先找到最深的点吧,然后又写了个BFS,全程面试官不说话,就看着我一个人干着急,然后,时间竟飞也似的到了40分钟,我就跟面试官说,这个您还在么,面试官说我看着呢,我说要不我给您讲讲我这个代码的意思?面试官说好啊,我就讲讲讲(我也不知道对不对),面试官听完说cool,我心想cool毛啊一点都不cool啊,我这写的都是什么乱泥。. 一亩-三分-地,独家发布
然后面试官说那你讲讲时间复杂度,我说BFS肯定是O(n),下面用了递归,每个节点访问一遍,也是O(n),所以总的就是O(n) 咯(其实我根本不知道是不是),面试官说行吧make sense,来问我问题吧...

最后告诉我recruiter会在这周或者下周联系我。现在并无消息。
. visit 1point3acres for more.世间事大抵如此.... From 1point 3acres bbs

.本文原创自1point3acres论坛
补充内容 (2016-1-30 07:28):
太特么刺激了...刚刚收到一封邮件以 Thanks for interviewing with us at Facebook开头的...还以为是拒信,都吓出心脏病了...结果一看发现是 Facebook Interview Survey...感觉已经再承受不住这样的暴击了...

补充内容 (2016-1-31 15:56):.留学论坛-一亩-三分地
万万没想到居然过了...运气真好只投了一家公司,拿了一个面试...就过了...感谢一亩三分地....
. 留学申请论坛-一亩三分地
补充内容 (2016-2-6 04:44):. 留学申请论坛-一亩三分地
面经总结在这里——
http://www.1point3acres.com/bbs/ ... choption%5B3046%...

评分

参与人数 11大米 +79 收起 理由
pocketnail + 1 感谢分享!
JunoJ + 5 楼主好人!沾沾喜气!!
sugarheart + 3 回答的很好!
raccoon + 1 感谢分享!
霸王 + 3 感谢分享!
guixi107 + 3 很有用的信息!
Howie + 10 感谢分享!
qeroqero + 3 胜败兵家事不期,包羞忍耻是男儿。江东弟子.
Jester_Z + 10 感谢分享!
mzhqlh + 10 感谢分享!
candy_shmily + 30

查看全部评分


上一篇:amazon 店面 1.29
下一篇:29 11:00 面经

本帖被以下淘专辑推荐:

我的人缘0
 楼主| songty11 发表于 2016-2-6 04:46:24 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
raccoon 发表于 2016-2-6 03:01. 1point3acres
恭喜楼主!!楼主是第二天就收到recruiter的邮件约电话了是吗..昨天面了二面,等待的好忐忑,刚也被那个sur ...

我是周四下午面试,周五下午都到survey...然后周日凌晨1点多收到HR的congratulation...
回复 支持 1 反对 0

使用道具 举报

我的人缘0
坐北朝南的学渣 发表于 2016-2-1 07:42:38 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
楼主厉害!!楼主准备的万无一失,虽然碰到了新题但能力还是在的,所以过了也是必然的~~
回复 支持 1 反对 0

使用道具 举报

我的人缘0
xutopia 发表于 2016-1-30 02:53:40 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
就是算height。如果所有subtree height都一样,那就返回root,否则返回height最高那个subtree所返回的答案。
回复 支持 1 反对 0

使用道具 举报

我的人缘0
 楼主| songty11 发表于 2016-1-30 02:20:29 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
我把代码也贴出来吧,不过不保证任何的正确性...
  1. vector<TreeNode*> BFS(TreeNode *root,int depth).留学论坛-一亩-三分地
  2. {
  3.   if(!root)
  4.     return {};
  5.   queue<pair<TreeNode *,int>> Q;
  6.   Q.push({root,1});
  7.   vector<TreeNode *> res;
  8.   while(!Q.empty())
  9.   {. 1point3acres
  10.     auto node = Q.front();
  11.     Q.pop();
  12.     if(adj[node].size()==0)
  13.     {
  14.       if(node.second ==depth)
  15.       {
  16.         res.push_back(node);
  17.       }
  18.     }
  19.     else
  20.     {
  21.       for(auto n: adj[node])
  22.       {
  23.         Q.push({n,node.second+1});. 一亩-三分-地,独家发布
  24.       }-google 1point3acres
  25.     }
  26.   }
  27.   return res;
  28.    
  29. }
  30. pair<int,TreeNode *> DFS(TreeNode *root,vector<TreeNode *> node)
  31. {
  32.   if(!root)
  33.     return{0,NULL};
  34.   int total = 0;
  35.   for(auto n: adj[root]). 围观我们@1point 3 acres
  36.   {
  37.     auto  p = DFS(n,node);
  38.     for(auto deep: node)
  39.       if(root==deep)
  40.         total++;. 牛人云集,一亩三分地
  41.     total += p.first;
  42.     if(p.first == node.size())
  43.       return p; 来源一亩.三分地论坛.
  44.   }.本文原创自1point3acres论坛

  45.   return {total,total==node.size()?root:NULL};
  46.   
  47. }
  48. TreeNode * SmallestTree(TreeNode *root,int depth)
  49. {
  50.   vector<TreeNode *> node = BFS(root,depth);
  51.   return DFS(root,node).second;
  52. }
复制代码
回复 支持 反对

使用道具 举报

我的人缘0
mzhqlh 发表于 2016-1-30 03:06:15 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
这个也是面经里的题:http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=148413&pid=2068421&page=1&extra=page%3D1%26filter%3Dsortid%26sortid%3D311#pid2068421

需要同时返回height,以及当前子树的最深节点(用引用可能会方便点)....第一次见确实挺难的..... from: 1point3acres
. 围观我们@1point 3 acres
补充内容 (2016-1-30 03:10):
以及“当前子树最深节点的lowest common ancestor"
回复 支持 反对

使用道具 举报

我的人缘0
1370786136.1.3 发表于 2016-1-30 03:40:26 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
试着用Java写了写. 牛人云集,一亩三分地
  1. import java.io.*;
  2. import java.util.*;

  3. class TreeNode {. from: 1point3acres
  4.     int val;
  5.     ArrayList<TreeNode> children;
  6.     TreeNode(int val) {
  7.         this.val = val;
  8.         children = new ArrayList<>();
  9.     }
  10. }

  11. class TreeNodeWrapper {
  12.     TreeNode node;
  13.     int maxDepth;
  14.     TreeNodeWrapper(TreeNode node, int maxDepth) {.1point3acres网
  15.         this.node = node;. 1point 3acres 论坛
  16.         this.maxDepth = maxDepth;
  17.     }. 1point 3acres 论坛
  18. }
    . 留学申请论坛-一亩三分地

  19. class Solution {
  20.     public TreeNode find(TreeNode root) {
  21.         if (root == null || root.children.isEmpty()) {. 围观我们@1point 3 acres
  22.             return root;
  23.         }
  24.         return helper(root).node;
  25.     } 来源一亩.三分地论坛.
  26.     .1point3acres网
  27.     public TreeNodeWrapper helper(TreeNode root) {
  28.         if (root.children.isEmpty()) {
  29.             return new TreeNodeWrapper(root, 1);
  30.         }
  31.         
  32.         int maxDepth = Integer.MIN_VALUE;
  33.         int size = root.children.size();
  34.         TreeNodeWrapper r = new TreeNodeWrapper(root, maxDepth);
  35.         
  36.         for (int i = 0; i < size; i++) {
  37.             TreeNodeWrapper wrapper = helper(root.children.get(i));
  38.             if (wrapper.maxDepth > maxDepth) {.本文原创自1point3acres论坛
  39.                 maxDepth = wrapper.maxDepth;.本文原创自1point3acres论坛
  40.                 r.node = (maxDepth == 1? root: wrapper.node);
  41.                 r.maxDepth = wrapper.maxDepth + 1;-google 1point3acres
  42.             } else if (wrapper.maxDepth == maxDepth) {
  43.                 r.node = root;
  44.             }        
  45.         }
  46.         return r;
  47.     }. 牛人云集,一亩三分地
  48. }
复制代码
回复 支持 反对

使用道具 举报

我的人缘0
Howie 发表于 2016-1-31 05:39:23 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
昨天onsite前还打了份楼主的文档对着题目过了一次
patpat.看来楼主整理漏了一个题  因为那个帖子是实习onsite而你只筛选了实习电面嘛 太倒霉了=-=
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| songty11 发表于 2016-1-31 05:57:12 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
Howie 发表于 2016-1-31 05:39. From 1point 3acres bbs
昨天onsite前还打了份楼主的文档对着题目过了一次
patpat.看来楼主整理漏了一个题  因为那个帖子是实习ons ...

嗯哼~那你onsite怎么样 有结果了么...
回复 支持 反对

使用道具 举报

我的人缘0
Howie 发表于 2016-1-31 06:02:38 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
songty11 发表于 2016-1-31 05:57
嗯哼~那你onsite怎么样 有结果了么...

当然没木有。。昨天面完的。。今天周末呢,hr说估计下周末之前才有
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| songty11 发表于 2016-1-31 06:33:31 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
Howie 发表于 2016-1-31 06:02
当然没木有。。昨天面完的。。今天周末呢,hr说估计下周末之前才有
. From 1point 3acres bbs
额...我身边朋友拒信不断...吓得我心神不宁...死也不让我死干脆...
回复 支持 反对

使用道具 举报

我的人缘0
kinggarden2001 发表于 2016-1-31 08:23:29 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
如果没见过 第一次就能给出这个解法不容易
回复 支持 反对

使用道具 举报

我的人缘0
可可米汐 发表于 2016-2-1 03:15:26 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
楼主,能给分面经汇总给我么。。。积分不够

补充内容 (2016-2-1 03:16):
xiaoxiao.t@hotmail.com
回复 支持 反对

使用道具 举报

我的人缘0
raccoon 发表于 2016-2-6 03:01:00 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
恭喜楼主!!楼主是第二天就收到recruiter的邮件约电话了是吗..昨天面了二面,等待的好忐忑,刚也被那个survey吓到...
回复 支持 反对

使用道具 举报

我的人缘0
duanj99 发表于 2016-2-6 03:22:01 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
嗯嗯,先恭喜了。然后,请问可以把整理的面经啥的发一份么,哈哈哈哈
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| songty11 发表于 2016-2-6 04:44:11 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
duanj99 发表于 2016-2-6 03:22
嗯嗯,先恭喜了。然后,请问可以把整理的面经啥的发一份么,哈哈哈哈
. 牛人云集,一亩三分地
http://www.1point3acres.com/bbs/ ... adio%26sortid%3D311
回复 支持 反对

使用道具 举报

我的人缘0
singku 发表于 2016-2-6 05:11:14 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
DFS 的同时记录可以达到最底层的节点 同时记录这个节点的depth。 map<int, set<int>> trace_map

第1个int表示节点所在的depth set存这个depth中所有能到最低点的节点

trace_map建好后,所有能到最底层的节点都找出来了 而且是按层级从低到高放在trace_map中的 如果 set的元素不止一个 那这个不是最低点

按顺序找到的第一个 set之后一个元素的 那个key 就是你要返回的节点

补充内容 (2016-2-6 05:12):
对照楼主给的例子 很好理解
回复 支持 反对

使用道具 举报

我的人缘0
huangnjsu 发表于 2016-2-17 13:32:46 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
楼主!我阅读权限不够,周五要面FB了,能不能发我一份你的总结,十分感谢!huangnjsu@gmail.com
回复 支持 反对

使用道具 举报

我的人缘0
YJ_Li 发表于 2016-2-18 07:23:24 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
楼主面经资料汇总能发 yijin.li.jack@gmail.com, 权限不够进不去,感谢
回复 支持 反对

使用道具 举报

我的人缘0
YJ_Li 发表于 2016-2-18 07:25:11 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
电面的时候能查leetcode 或在网上找其他资料吗?
回复 支持 反对

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-6-21 09:16

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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