回复: 10
跳转到指定楼层
上一主题 下一主题
收起左侧

脸家电面

全局:

2016(7-9月) 码农类General 硕士 全职@meta - 内推 - 技术电面  | | Pass | 应届毕业生

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

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

x
两周前电面的,一个印度大哥,看 linkedin 界面上写自己会 Gujarati , Hindi 和巴基斯坦的 Urdu 语,和小伙伴讨论了一
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
了很多年,我就问了好多他以前做过的 project,又聊了聊 memcached,算是愉快结束~

上一篇:Jet 电面(Karat 外包面试)
下一篇:新鲜Coursera OA2 汇报
推荐
 楼主| mnmunknown 2016-9-11 23:54:20 | 只看该作者
全局:
lookbackinanger 发表于 2016-9-10 13:24
迭代的话是要前序遍历时把当前p->right 和path一起压入桟中么? 有没有更好的做法?

比较容易想到和实现但是效率不算特别好的办法,就是 BFS,用一个 Queue<List<Node>> 来存 path 信息,每次遍历的时候 poll 出来的 List 里最后一个 Node 都代表 current node,然后看它的左右子节点就行了~

还有一种比较好玩的 DFS 递归转迭代的方式是自己定义可能出现的几种状态,然后写个 stack frame 模拟搜索你写递归时候的 dfs stack 过程,代码大概是下面这样,你可以参考下看看是不是有 bug
  1. public static void printPaths(TreeNode root){
  2.         Stack<StackFrame> stack = new Stack<>();
  3.         List<TreeNode> list = new ArrayList<>();
  4.         if(root != null) stack.push(new StackFrame(0, root));

  5.         while(!stack.isEmpty()){
  6.             StackFrame curFrame = stack.peek();
  7.             TreeNode curNode = curFrame.node;

  8.             if(curNode == null) {
  9.                 stack.pop();
  10.             } else if(curFrame.status == 0){
  11.                 list.add(curNode);
  12.                 curFrame.status = 1;
  13.                 stack.push(new StackFrame(0, curNode.left));
  14.             } else if(curFrame.status == 1){
  15.                 curFrame.status = 2;
  16.                 stack.push(new StackFrame(0, curNode.right));
  17.             } else {
  18.                 if(curNode.left == null && curNode.right == null) {
  19.                     for (TreeNode node : list) System.out.print("" + node.val + ",");
  20.                     System.out.println();
  21.                 }
  22.                 stack.pop();
  23.                 list.remove(list.size() - 1);
  24.             }
  25.         }
  26.     }
复制代码

补充内容 (2016-9-11 23:57):
0 - 当前 stack frame 还未访问子树;
1 - 当前 stack frame 正在访问其左子树;
2 - 当前 stack frame 正在访问其右子树。
回复

使用道具 举报

推荐
 楼主| mnmunknown 2016-10-15 01:11:35 | 只看该作者
全局:
yiwen_15 发表于 2016-10-13 08:46
求onsite面经!明天facebook onsite求指导

汗,不好意思我今天才看到这个。。一是有 NDA,二是我觉得我 onsite 碰到的题目还没有我在地里回复过的几个 fb 面经有意思,在具体题目上也不是很有参考价值= =

马上要 onsite 的建议就是把已经会的再看一看,最后一天就别突击了影响心情,放松点不要方就行。。 good luck ~
回复

使用道具 举报

🔗
iPhD 2016-9-6 01:45:11 | 只看该作者
全局:
这是LC上面那题Binary Tree Paths吗?面试官问时间复杂度了没?网上说时间复杂度不止O(n)?
回复

使用道具 举报

🔗
pu0211 2016-9-6 01:56:02 | 只看该作者
全局:
楼主内推多久收到面试?
回复

使用道具 举报

🔗
houqingniao 2016-9-7 10:44:23 | 只看该作者
全局:
这个还要iterative做啊??
回复

使用道具 举报

全局:
迭代的话是要前序遍历时把当前p->right 和path一起压入桟中么? 有没有更好的做法?
回复

使用道具 举报

🔗
hanabeast 2016-9-10 15:06:14 | 只看该作者
全局:
这个楼主很厉害啊
回复

使用道具 举报

无效楼层,该帖已经被删除
🔗
hanabeast 2016-9-12 04:01:25 | 只看该作者
全局:
ofdk88 发表于 2016-9-10 15:55
楼主怎么找到内推的,多久收到面试?

可以去内推板块看看
回复

使用道具 举报

🔗
yiwen_15 2016-10-13 08:46:17 | 只看该作者
全局:
求onsite面经!明天facebook onsite求指导
回复

使用道具 举报

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

本版积分规则

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