一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 3258|回复: 34
收起左侧

发一下之前FB onsite

[复制链接] |试试Instant~ |关注本帖
aloncgo 发表于 2016-3-30 14:24:34 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 本科 全职@Facebook - 内推 - Onsite |Failfresh grad应届毕业生

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

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

x

每一轮都很简单
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
第一轮: 三哥,输入一个array,元素都不是负数 和一个 int: target   输出是否存在有没有subarray sum = target, follow up 有负数怎么办
第二轮: 亚裔小哥,常见题, 给一个string,删掉不正确的括号,  比如 输入 ()()(()  输出 ()()()   只要一个解就行,      讨论了几种方法, 顺带写了一下 Leetcode Remove Element
第三轮: 三哥,Jedi, 都是常见问题,聊简历+why facebook +怎么handle conflict
      聊完简历后没剩几分钟了, 写了一道 https://leetcode.com/problems/lo ... r-of-a-binary-tree/

面完感觉超级良好, 每道题都刚好面前准备过, 没被指出来过有bug,  不过感觉第一轮的sliding windows 写得不太干净吧,被要求改了一下, 减少了两行

面完过后收到拒信   不过冷冻期不是一年, 叫我过3-6个月联系他们

评分

4

查看全部评分

sealove999 发表于 2016-4-3 05:21:43 | 显示全部楼层
第一题
  1. public class Solution {
  2.   public boolean subarraySum(int[] arr, int target) {
  3.     int last = 0;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  4.     int sum = 0;
  5.     for (int i = 0; i < arr.length; i++) {
  6.       sum += arr[i];-google 1point3acres
  7.       while (sum > target) {. from: 1point3acres.com/bbs
  8.         sum -= arr[last++];
  9.       }
  10.       if (sum == target) {
  11.         return true;. from: 1point3acres.com/bbs
  12.       }
  13.     }. from: 1point3acres.com/bbs
  14.     return false;
  15.   }

  16.   public boolean subarraySumNegtive(int[] arr, int target) {. 1point3acres.com/bbs
  17.     for (int i = 1; i < arr.length; i++) {
  18.       arr[i] += arr[i - 1];
  19.     }
  20.     Set<Integer> s = new HashSet<>();
  21.     for (int i = 0; i < arr.length; i++) {
  22.       if (s.contains(arr[i] - target)) {
  23.         return true;
  24.       } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  25.       s.add(arr[i]);
  26.     }
  27.     return false;
  28.   }

  29.   public static void main(String[] args) {
  30.     Solution ss = new Solution();
  31.     System.out.println(ss.subarraySum(new int[] {1, 2, 3, 4, 5, 6}, 14));
  32.     System.out.println(ss.subarraySum(new int[] {1, 2, 3, 4, 5, 6}, 10));
  33.     System.out.println(ss.subarraySum(new int[] {1, 2, 3, 4, 5, 6}, 18));
  34.     System.out.println(ss.subarraySum(new int[] {1, 2, 3, 4, 5, 6}, 17));
  35.     System.out.println(ss.subarraySumNegtive(new int[] {1, -2, 3, -4, 5, -6}, 4));
  36.     System.out.println(ss.subarraySumNegtive(new int[] {1, -2, 3, -4, 5, -6}, -5));
  37.     System.out.println(ss.subarraySumNegtive(new int[] {1, -2, 3, -4, 5, -6}, 0));
  38.     return;
  39.   }. Waral 鍗氬鏈夋洿澶氭枃绔,
  40. }
复制代码
回复 支持 0 反对 2

使用道具 举报

mingzhou1987 发表于 2016-3-30 15:00:36 | 显示全部楼层
有问问feedback么,全做出来都没给过?
回复 支持 反对

使用道具 举报

 楼主| aloncgo 发表于 2016-3-30 15:08:05 | 显示全部楼层
mingzhou1987 发表于 2016-3-30 15:00.鏈枃鍘熷垱鑷1point3acres璁哄潧
有问问feedback么,全做出来都没给过?

问了 不说。。 只叫我保持联系, 和给他update找工作的情况。。。。
回复 支持 反对

使用道具 举报

mdzzxswl 发表于 2016-3-30 15:13:23 | 显示全部楼层
你是本科还是研究生啊
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-3-30 23:30:41 | 显示全部楼层
请问楼主第二轮是用的 "Remove Invalid Parentheses"的backtracking的方法写的吗?
回复 支持 反对

使用道具 举报

 楼主| aloncgo 发表于 2016-3-31 00:13:40 | 显示全部楼层
mdzzxswl 发表于 2016-3-30 15:13
你是本科还是研究生啊

master   
回复 支持 反对

使用道具 举报

 楼主| aloncgo 发表于 2016-3-31 00:16:30 | 显示全部楼层
bobzhang2004 发表于 2016-3-30 23:30
请问楼主第二轮是用的 "Remove Invalid Parentheses"的backtracking的方法写的吗?

只需要输出一个解。。  所以不用这么麻烦      

面试官比较满意的一个解法是    正向反向各遍历一次 标记错误的括号位置 (比如正向的时候  如果到某个右括号时发现左括号少于右括号, 肯定不对)

然后删除,  O(n) 时间 O(1)空间

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

yueliu2366 发表于 2016-3-31 00:28:28 | 显示全部楼层
请问下楼主,不是说fb不招研究生的new grad了吗今年? 难道现在又开放了?
回复 支持 反对

使用道具 举报

 楼主| aloncgo 发表于 2016-3-31 00:34:59 | 显示全部楼层
yueliu2366 发表于 2016-3-31 00:28
请问下楼主,不是说fb不招研究生的new grad了吗今年? 难道现在又开放了?

肯定在招的, 只是不多而已
回复 支持 反对

使用道具 举报

sherry0419 发表于 2016-3-31 00:45:43 | 显示全部楼层
我觉得我面得还没有楼主好HR要了reference check,说今天就可以告诉我要不要move forward,因为我三月底有一个offer deadline。
.鏈枃鍘熷垱鑷1point3acres璁哄潧
感觉拒信已经在路上了……
回复 支持 反对

使用道具 举报

 楼主| aloncgo 发表于 2016-3-31 00:48:04 | 显示全部楼层
sherry0419 发表于 2016-3-31 00:45
我觉得我面得还没有楼主好HR要了reference check,说今天就可以告诉我要不要move forward,因为我 ...

要了reference 肯定没问题啦。。。。     放心

面试这东西真是说不准的,   FB自我感觉良好直接悲剧,   Google面得屎一样 居然过了HC, 但愿最后一步不要出什么岔子
回复 支持 反对

使用道具 举报

foreverel 发表于 2016-3-31 00:55:11 | 显示全部楼层
请问楼主多久收到消息啊?等得太煎熬了..
回复 支持 反对

使用道具 举报

sherry0419 发表于 2016-3-31 00:55:40 | 显示全部楼层
aloncgo 发表于 2016-3-31 00:48
要了reference 肯定没问题啦。。。。     放心
. more info on 1point3acres.com
面试这东西真是说不准的,   FB自我感觉良好直接悲剧, ...

祝team match好运!!!!!!
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-3-31 02:34:31 | 显示全部楼层
sherry0419 发表于 2016-3-31 00:45
我觉得我面得还没有楼主好HR要了reference check,说今天就可以告诉我要不要move forward,因为我 ...

祝你好运~offer马上来!
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-3-31 02:39:52 | 显示全部楼层
aloncgo 发表于 2016-3-31 00:16
只需要输出一个解。。  所以不用这么麻烦       . from: 1point3acres.com/bbs

面试官比较满意的一个解法是    正向反向各遍历一次  ...

是保证只会多一个括号吗?不然记下位置,空间复杂度就可能是O(n)啊
回复 支持 反对

使用道具 举报

freemail165 发表于 2016-3-31 10:39:11 | 显示全部楼层
你还是报告一下你怎么回答得把,我们也可以看看你面的咋样,有的题作过了也不见得写的就好
回复 支持 反对

使用道具 举报

 楼主| aloncgo 发表于 2016-3-31 13:35:34 | 显示全部楼层
bobzhang2004 发表于 2016-3-31 02:39
是保证只会多一个括号吗?不然记下位置,空间复杂度就可能是O(n)啊

不啊,修改原来的string, 不用额外的空间嘛
回复 支持 反对

使用道具 举报

aiwojiujiu 发表于 2016-4-1 00:33:09 | 显示全部楼层
楼主肯定是妹子  要不然绝对过不了hc
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-4-1 05:35:26 | 显示全部楼层
aloncgo 发表于 2016-3-31 13:35
不啊,修改原来的string, 不用额外的空间嘛
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
懂了,写了下代码
  1. public class RemoveInvalidParenthesesII {

  2.         public static void main(String[] args) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  3.                 System.out.println(removeInvalidParenthesesII("()()(()"));
  4.                 System.out.println(removeInvalidParenthesesII("()())(()"));. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  5.                 System.out.println(removeInvalidParenthesesII("())"));
  6.         }
  7.         public static String removeInvalidParenthesesII(String str) {
  8.                 if (str == null || str.length() == 0) {
  9.                         return "";
  10.                 }
  11.                 StringBuilder sb = new StringBuilder();
  12.                 int left = 0;
  13.                 int right = 0;
  14.                 for (int i = 0; i < str.length(); i++) {
  15.                         char c = str.charAt(i);
  16.                         if (c == '(') {
  17.                                 sb.append(c);
  18.                                 left++;
  19.                         } else if (c == ')') {
  20.                                 if (left > 0) {
    . 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  21.                                         left--;
  22.                                         sb.append(c);
  23.                                 }
  24.                         }.鐣欏璁哄潧-涓浜-涓夊垎鍦
  25.                 }
  26.                 str = sb.toString();. more info on 1point3acres.com
  27.                 sb = new StringBuilder();
  28.                 left = 0;
  29.                 right = 0;
  30.                 for (int i = str.length() - 1; i >= 0; i--) {
  31.                         char c = str.charAt(i);
  32.                         if (c == ')') {
  33.                                 right++; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  34.                                 sb.insert(0, c);
  35.                         } else if (c == '(') {
  36.                                 if (right > 0) {
  37.                                         right--;
  38.                                         sb.insert(0, c);. 1point3acres.com/bbs
  39.                                 }
  40.                         }
  41.                 }
  42.                
  43.                 return sb.toString();
  44.         }
  45. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| aloncgo 发表于 2016-4-1 05:37:21 | 显示全部楼层
bobzhang2004 发表于 2016-4-1 05:35.1point3acres缃
懂了,写了下代码

嗯嗯 方法就这样, JAVA的话肯定还是要新建string的

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-8 16:52

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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