一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推多家公司面试
Airbnb 数据科学职位
in analytics and inference
游戏初创公司
招聘工程师、Designer和游戏策划
游戏初创公司DreamCraft招聘工程师、UIUX Designer和游戏策划
把贵司招聘信息放这里
查看: 4182|回复: 27
收起左侧

Facebook Phone Interview

[复制链接] |试试Instant~ |关注本帖
22691482 发表于 2014-11-8 07:31:14 | 显示全部楼层 |阅读模式

2014(10-12月) 码农类 硕士 全职@Facebook - 内推 - 技术电面 |Other

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

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

x
(招工季节从7-9月到了10-12月)

一小时前FB电话面试,扯了20分钟简历才说:想要写点代码吗? 。。。

Iterator for in-order traversal of binary tree.  开始以为是iterative traverse in-order binary tree...还暗喜了一会。。


class Iterator
{.1point3acres缃
    Iterator(Node *root){ }
    int value(){ }. more info on 1point3acres.com
    void next(){ }

}

很久都没有理解题目,,后面边理解边写边改的。写完面试官说有个Bug,我找了半天说没找到,给个提示。。还好他说是他看错了。。

求Onsite!!! 邮箱里面已经塞满了拒信。

评分

3

查看全部评分

rettyye3 发表于 2014-11-8 08:24:46 | 显示全部楼层
这题用iterative version 的 inorder? 可以自己开个stack吗 还是说用morris?
回复 支持 反对

使用道具 举报

 楼主| 22691482 发表于 2014-11-8 08:39:36 | 显示全部楼层
rettyye3 发表于 2014-11-8 08:24
这题用iterative version 的 inorder? 可以自己开个stack吗 还是说用morris?
. From 1point 3acres bbs
实现那个类的方法。
回复 支持 反对

使用道具 举报

rettyye3 发表于 2014-11-8 08:57:33 | 显示全部楼层
22691482 发表于 2014-11-8 08:39. 1point 3acres 璁哄潧
实现那个类的方法。

哦, 我的意思是能不能自己给这个class加个private的stack, 或者这Node的结构有没有parent?

祝早日拿到onsite!
回复 支持 反对

使用道具 举报

rengokantai 发表于 2014-11-8 09:57:21 | 显示全部楼层
邮箱里面已经塞满了拒信。。。。。。跟我太像了。楼主加油啊
回复 支持 反对

使用道具 举报

hno3 发表于 2014-11-8 10:01:11 | 显示全部楼层
楼主怎么做的啊,没想明白。。。
回复 支持 反对

使用道具 举报

 楼主| 22691482 发表于 2014-11-8 10:38:42 | 显示全部楼层
rettyye3 发表于 2014-11-8 08:57
哦, 我的意思是能不能自己给这个class加个private的stack, 或者这Node的结构有没有parent?

祝早日拿到 ...

我自己加了个private Node* next;. From 1point 3acres bbs

next就是CC150里面那个做法。

这个题主要是没见过,半天没搞清楚要干嘛。
回复 支持 反对

使用道具 举报

 楼主| 22691482 发表于 2014-11-8 10:39:19 | 显示全部楼层
rengokantai 发表于 2014-11-8 09:57
邮箱里面已经塞满了拒信。。。。。。跟我太像了。楼主加油啊

加油加油。。!!!
回复 支持 反对

使用道具 举报

 楼主| 22691482 发表于 2014-11-8 10:41:10 | 显示全部楼层
hno3 发表于 2014-11-8 10:01
楼主怎么做的啊,没想明白。。。

可以参考: CC150 4.5

构造函数那里就是把根传进去,然后跑到最左边。 (即in-order的第一个要遍历的元素)

回复 支持 反对

使用道具 举报

averillzheng 发表于 2014-11-8 11:08:42 | 显示全部楼层
22691482 发表于 2014-11-8 10:41. Waral 鍗氬鏈夋洿澶氭枃绔,
可以参考: CC150 4.5

构造函数那里就是把根传进去,然后跑到最左边。 (即in-order的第一个要遍历的 ...

import java.util.Stack;. more info on 1point3acres.com
public class IteratorOfInOrder {       
        private TreeNode curr;
        private Stack<TreeNode> nodes = new Stack<TreeNode>();. 1point3acres.com/bbs
       
        public IteratorOfInOrder(TreeNode root){
                TreeNode nd = root;
                while(nd != null){. 1point 3acres 璁哄潧
                        nodes.add(nd);. visit 1point3acres.com for more.
                        nd = nd.left;
                }               
        }
       
        public int value(){                       
                return curr.val;               
        }

        public void next(){
                if(!nodes.isEmpty()){
                        curr = nodes.pop();                        . 1point 3acres 璁哄潧
                }
               
                if(curr != null) {. from: 1point3acres.com/bbs
                        TreeNode nd = curr;
                        if(nd.right != null) {. 1point3acres.com/bbs
                                nd = nd.right;. from: 1point3acres.com/bbs
                                while(nd != null) {.1point3acres缃
                                        nodes.push(nd);. visit 1point3acres.com for more.
                                        nd = nd.left;
                                }
                        }                       
                }else{. From 1point 3acres bbs
                        System.out.println("reach the last node in the tree");
                }
        }
}
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
补充内容 (2014-11-8 11:29):
上面的code有一点点的小bug,在next函数的第一个if后掉了else clause,
更正的code 在后面。 我加了一个hasNext()的函数。因为他给定的next函数返回的是void,如果没有hasNext函数,这个iterator不太好用
回复 支持 反对

使用道具 举报

averillzheng 发表于 2014-11-8 11:10:47 | 显示全部楼层
22691482 发表于 2014-11-8 10:41
可以参考: CC150 4.5

构造函数那里就是把根传进去,然后跑到最左边。 (即in-order的第一个要遍历的 ...
. Waral 鍗氬鏈夋洿澶氭枃绔,
当然你还可以用morris
回复 支持 反对

使用道具 举报

averillzheng 发表于 2014-11-8 11:16:01 | 显示全部楼层
我觉得还要加一个
boolean hasNext(){
}

不然真心不好用
回复 支持 反对

使用道具 举报

averillzheng 发表于 2014-11-8 11:30:17 | 显示全部楼层
  1. import java.util.Stack;
  2. public class IteratorOfInOrder {       
  3.         private TreeNode curr;
  4.         private Stack<TreeNode> nodes = new Stack<TreeNode>();       
  5.        
  6.         public IteratorOfInOrder(TreeNode root){
  7.                 TreeNode nd = root;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  8.                 while(nd != null){
  9.                         nodes.push(nd);
  10.                         nd = nd.left;
  11.                 }                . 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  12.         }. 1point 3acres 璁哄潧
  13.        
  14.         public int value(){                       
  15.                 return curr.val;               
  16.         }

  17.         public void next(){. Waral 鍗氬鏈夋洿澶氭枃绔,
  18.                 if(!nodes.isEmpty()){
  19.                         curr = nodes.pop();                       
  20.                 }else{
  21.                         curr = null;. from: 1point3acres.com/bbs
  22.                 }
  23.                
  24.                 if(curr != null) {
  25.                         TreeNode nd = curr;
  26.                         if(nd.right != null) {
  27.                                 nd = nd.right;
  28.                                 while(nd != null) {
  29.                                         nodes.push(nd);
  30.                                         nd = nd.left;
  31.                                 }. From 1point 3acres bbs
  32.                         }                       
  33.                 }
  34.         }
  35.        
  36.         public boolean hasNext(){
  37.                 return !nodes.isEmpty();
  38.         }
  39. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 22691482 发表于 2014-11-8 12:17:54 | 显示全部楼层
-google 1point3acres
不能用stack啊。。。。. Waral 鍗氬鏈夋洿澶氭枃绔,

构造函数: 传进来root,把成员函数next指到inorder的第一个。
value(): return next->val;
next(): 如果有右孩子,返回右孩子的leftMost孩子。
                不然往上找父亲,直到父亲是某个爷爷的左孩子,那么爷爷就是next。
回复 支持 反对

使用道具 举报

stpddream 发表于 2014-11-8 14:35:59 | 显示全部楼层
哈哈哈哈今天onsite被问了这个。。和10楼码差不多。。
回复 支持 反对

使用道具 举报

 楼主| 22691482 发表于 2014-11-8 15:05:18 | 显示全部楼层
stpddream 发表于 2014-11-8 14:35
哈哈哈哈今天onsite被问了这个。。和10楼码差不多。。

请问你电话面试后多久有的回复???
回复 支持 反对

使用道具 举报

xingyejun 发表于 2014-11-8 15:08:04 | 显示全部楼层
祝楼主好运!问一下电面的时候可以现查资料吗?会被发现吗?

补充内容 (2014-11-8 15:08):
就是上网上搜一些答案啥的
回复 支持 反对

使用道具 举报

stpddream 发表于 2014-11-8 15:17:26 | 显示全部楼层
22691482 发表于 2014-11-8 15:05
请问你电话面试后多久有的回复???

大抵3天........
回复 支持 反对

使用道具 举报

 楼主| 22691482 发表于 2014-11-8 15:19:59 | 显示全部楼层
xingyejun 发表于 2014-11-8 15:08
祝楼主好运!问一下电面的时候可以现查资料吗?会被发现吗?.1point3acres缃

补充内容 (2014-11-8 15:08):

我那个next就是找刷CC150的时候自己实现的代码。。。不过要和面试官保持交流。。所以颇有难度。。
回复 支持 反对

使用道具 举报

 楼主| 22691482 发表于 2014-11-8 15:20:37 | 显示全部楼层
.鏈枃鍘熷垱鑷1point3acres璁哄潧
Onsite据说一天就回复了。。祝好运啊!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2018-1-18 08:30

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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