一亩三分地论坛

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

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

Facebook跪经

[复制链接] |试试Instant~ |关注本帖
wangmengcathy 发表于 2016-3-25 04:21:13 | 显示全部楼层 |阅读模式

2016(4-6月) 码农类 硕士 全职@Facebook - 内推 - 技术电面 |Failfresh grad应届毕业生

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

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

x
FaceBook一面 简单题跪了。。。好在拿到了二面机会 求人品!! 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

白人小哥,上来就吹自己以前在Google多屌多屌之类的。。。然后上题. 1point 3acres 璁哄潧
1. leetcode原题,strstr,唯一区别就是参数是char array,不让用string方法做(当然也包括stringbuilder),返回在hackstack里第一次匹配needle的substring的第一个字符下标,后来想想这哥们写c和c++的,也就make sense了。。. from: 1point3acres.com/bbs
2. 第一题秒之后,迅速又粘了一段,大意就是把第一个haystack参数变成一个二维数组,然后找needle在haystack第一次出现的位置,同样的不能用string相关方法,还是返回把haystack[][]二维数组看成一维以后的第一次匹配的字符下标,举例:haystack := [[a,b,c,c], [c,b,d]], needle := [c,c,b,d] , return 2; needle := [b, d] return 5 (5是把haystack看成一维的以后的找到第一个bd以后b的下标)。.鏈枃鍘熷垱鑷1point3acres璁哄潧
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
第二题感觉写出框架来以后逻辑比较混乱,代码比较丑,没时间debug了,果然没有Onsite....... more info on 1point3acres.com

求二面好运~~~
. 1point3acres.com/bbs

评分

3

查看全部评分

todayand 发表于 2016-3-25 09:59:50 | 显示全部楼层
lz为什么有二面机会啊?
回复 支持 反对

使用道具 举报

 楼主| wangmengcathy 发表于 2016-3-25 13:00:51 | 显示全部楼层
todayand 发表于 2016-3-25 09:59
lz为什么有二面机会啊?

给HR跪舔了一下。。
回复 支持 反对

使用道具 举报

duduhaha 发表于 2016-3-25 14:50:09 | 显示全部楼层
第二题写了个,感觉写好还是要些时间的。
public static int strstr(String[] s, String t) {
        int len1 = s.length, len2 = t.length(), index = 0;

        for (int i = 0; i < len1; i++). 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
            for (int j = 0; j < s[i].length(); j++) {
                int temp_i = i;
                int temp_j = j;

                int k = 0;

                for ( ; temp_i < len1 && k < len2; ) {
                    if (temp_j < s[temp_i].length() && s[temp_i].charAt(temp_j) == t.charAt(k)) {. 鍥磋鎴戜滑@1point 3 acres
                        k++;
                        temp_j++;
                    } else if (temp_j == s[temp_i].length()){
                        temp_i++;
                        temp_j = 0;
                    } else
                        break;
                }

                if (k == len2)
                    return index;
                else
                    index++;.鐣欏璁哄潧-涓浜-涓夊垎鍦
            }

        return -1;
    }
回复 支持 反对

使用道具 举报

freemail165 发表于 2016-3-28 04:52:50 | 显示全部楼层
第一题就brute force 还是KMP?
回复 支持 反对

使用道具 举报

yueliu2366 发表于 2016-3-28 06:04:24 | 显示全部楼层
请问楼主是硕士全职吗?不是说fb今年不招new grad了吗?
回复 支持 反对

使用道具 举报

jeremy_sea 发表于 2016-4-3 05:40:35 | 显示全部楼层
第二题不是把outer loop serialize就行了吗?
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-4-4 00:03:51 | 显示全部楼层
"haystack := [[a,b,c,c], [c,b,d]], needle := [c,c,b,d] , return 2; "应该是返回3吧
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-4-4 00:04:32 | 显示全部楼层
写了下代码,还得复杂的指针操作. more info on 1point3acres.com
  1. public class StrstrII {

  2.         public static void main(String[] args) {
  3.                 List<List<Character>> haystack = new ArrayList<List<Character>>();
  4.                 List<Character> list1 = new ArrayList<Character>();
  5.                 list1.add('a');
  6.                 list1.add('b');
  7.                 list1.add('c');. from: 1point3acres.com/bbs
  8.                 list1.add('c');
  9.                 List<Character> list2 = new ArrayList<Character>();
  10.                 list2.add('c');. 1point 3acres 璁哄潧
  11.                 list2.add('c');
  12.                 list2.add('b');. visit 1point3acres.com for more.
  13.                 list2.add('d');
  14.                 haystack.add(list1);
  15.                 haystack.add(list2);
  16.                 System.out.println(findNeedleInHaystack(haystack, "ccbd"));
  17.                 System.out.println(findNeedleInHaystack(haystack, "bd"));
  18.         }
  19.        
  20.         public static int findNeedleInHaystack(List<List<Character>> haystack, String needle) {
  21.                 int total = 0;
  22.                 for (int i = 0; i < haystack.size(); i++) {
  23.                         for (int j = 0; j < haystack.get(i).size(); j++) {
  24.                                 int k = 0;.1point3acres缃
  25.                                 int posI = i;
  26.                                 int posJ = j;
  27.                                
  28.                                 while ((posI < haystack.size() && posJ < haystack.get(posI).size()) && haystack.get(posI).get(posJ) == needle.charAt(k)) {
  29.                                         k++;
  30.                                         posJ++;
  31. //                                        System.out.println("test" + " " + i + " " + j + " " + k) ;
  32.                                         if (posJ == haystack.get(posI).size()) {
  33.                                                 posI++;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  34.                                                 posJ = 0;
  35.                                         }
  36.                                 }
  37. //                                System.out.println(k + " k");. From 1point 3acres bbs
  38.                                 if (k == needle.length()) {
  39.                                         return total + j - 1;
  40.                                 }
  41.                         }
  42.                         total += haystack.get(i).size();
  43.                 }
  44.                
  45.                 return -1;. Waral 鍗氬鏈夋洿澶氭枃绔,
  46.         }
  47. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| wangmengcathy 发表于 2016-4-4 04:50:42 | 显示全部楼层
freemail165 发表于 2016-3-28 04:52
第一题就brute force 还是KMP?

brute force就行,电面他家好多回了。。他家就是喜欢一道leetcode 加一个变种follow-up
回复 支持 反对

使用道具 举报

 楼主| wangmengcathy 发表于 2016-4-4 04:50:56 | 显示全部楼层
yueliu2366 发表于 2016-3-28 06:04
请问楼主是硕士全职吗?不是说fb今年不招new grad了吗?

我那批是最后一波了就
回复 支持 反对

使用道具 举报

sealove999 发表于 2016-4-4 07:20:10 | 显示全部楼层
freemail165 发表于 2016-3-28 04:52. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
第一题就brute force 还是KMP?

同问同问同问同问
回复 支持 反对

使用道具 举报

sealove999 发表于 2016-4-4 07:44:19 | 显示全部楼层
没看懂的为什么楼主ccbd是2的,为啥[][]数组的2个分量长度还不一样
  1. public class Solution {
  2.   public int strstr(char[] c1, char[] c2) {
  3.     for (int i = 0; i + c2.length <= c1.length; i++) {. 1point3acres.com/bbs
  4.       boolean match = true;
  5.       for (int j = 0; j < c2.length; j++) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  6.         if (c1[i + j] != c2[j]) {
  7.           match = false;
  8.           break;
  9.         }. 1point 3acres 璁哄潧
  10.       }
  11.       if (match) {
  12.         return i;
  13.       }
  14.     }
  15.     return -1;
  16.   }
  17. .鐣欏璁哄潧-涓浜-涓夊垎鍦
  18.   int twoone(int i, int j, int m, int n) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  19.     return i * n + j;. 1point3acres.com/bbs
  20.   }

  21.   int[] onetwo(int i, int m, int n) {. more info on 1point3acres.com
  22.     return new int[] {i / n, i % n};. From 1point 3acres bbs
  23.   }.1point3acres缃

  24.   public int strstr(char[][] c1, char[] c2) {
  25.     int m = c1.length;
  26.     int n = c1[0].length;
  27.     for (int i = 0; i + c2.length <= m * n; i++) {
  28.       boolean match = true;
  29.       for (int j = 0; j < c2.length; j++) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  30.         int idx[] = onetwo(i + j, m, n);.1point3acres缃
  31.         if (c1[idx[0]][idx[1]] != c2[j]) {
  32.           match = false;. more info on 1point3acres.com
  33.           break;
  34.         }. From 1point 3acres bbs
  35.       }
  36.       if (match) {
  37.         return i;
  38.       }
  39.     }. From 1point 3acres bbs
  40.     return -1;
  41.   }. 1point 3acres 璁哄潧

  42.   public static void main(String[] args) {
  43.     Solution s = new Solution();. Waral 鍗氬鏈夋洿澶氭枃绔,
  44.     System.out.println(s.strstr(new char[] {'a', 'b', 'c', 'c', 0}, new char[] {'c', 'c'}));
  45.     System.out.println(s.strstr(new char[][] {{'a', 'b', 'c', 'c'}, {'c', 'b', 'd', 0}},
  46.         new char[] {'c', 'c', 'b', 'd'}));
  47.     System.out.println(
    . visit 1point3acres.com for more.
  48.         s.strstr(new char[][] {{'a', 'b', 'c', 'c'}, {'c', 'b', 'd', 0}}, new char[] {'b', 'd'}));
  49.     return;
  50.   }
  51. }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
复制代码
回复 支持 反对

使用道具 举报

zyoppy008 发表于 2016-8-19 16:04:55 来自手机 | 显示全部楼层
怎么跪舔啊 我今天也没面好 hr告知已挂 怎么求二面
回复 支持 反对

使用道具 举报

stephaniede 发表于 2016-8-27 03:47:04 | 显示全部楼层
第二题把二维变为一维,然后用第一题的方法做就好了吧~
回复 支持 反对

使用道具 举报

zyoppy008 发表于 2016-8-27 04:39:33 | 显示全部楼层
楼主不在吗? = = 我也想跪舔hr求加面,求方法
回复 支持 反对

使用道具 举报

cicean 发表于 2016-9-7 06:15:10 | 显示全部楼层
第二题好像 wordsearch 啊
回复 支持 反对

使用道具 举报

cicean 发表于 2016-9-7 06:16:34 | 显示全部楼层
第二题输入 还是char[][]了
回复 支持 反对

使用道具 举报

cicean 发表于 2016-9-7 07:10:21 | 显示全部楼层
{{'a', 'b', 'c', 'c'}, {'b', 'd'}}; { 'c','b', 'd'} 应该返回啥?
回复 支持 反对

使用道具 举报

cicean 发表于 2016-9-7 07:15:56 | 显示全部楼层
cicean 发表于 2016-9-7 07:10
{{'a', 'b', 'c', 'c'}, {'b', 'd'}}; { 'c','b', 'd'} 应该返回啥?
. 1point 3acres 璁哄潧
带上下左右搜么,还是只能按照从左到右的顺序 search 下一个 字符?
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-4 07:48

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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