《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 5409|回复: 11
收起左侧

Facebook 电面面经

[复制链接] |试试Instant~ |关注本帖
wenchoiy 发表于 2016-6-17 05:01:06 | 显示全部楼层 |阅读模式

2016(4-6月) 码农类 博士 全职@Facebook - 猎头 - 技术电面 |Fail其他

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

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

x
Facebook 电面面经

上个月被猎头找,稍微准备了一下就店面了

第一轮,国人面试官, 人很Nice
1. LC Move Zeros, 一开始写了两个loop, 面试官提醒可以一个Loop搞定,然后写了只用一个Loop的版本
2. LC search in rotated array, 写了两个binary search的版本,面试官提醒可以一个binary search搞定,然后没时间改了


第二轮,老外面试官,给一个String, 如AABACCDCD, 插入'_'使同一个字母间隔为k: 如果k=3: A___AB__AC___CD__CD, 一开始理解有误,认为是要先shuffle字母顺序然后插入'_',花了不少时间,然后面试官提示字母顺序不变,写出来,然后直接run出来有bug,在coderpad上调了一会才通过。。。. from: 1point3acres.com/bbs
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

已跪


补充内容 (2016-6-18 00:46):. visit 1point3acres.com for more.
第二题补充 间隔至少为k

评分

1

查看全部评分

chen6145 发表于 2016-6-29 14:01:12 | 显示全部楼层
第二轮我觉得可以用一个长度为k的window,从左往右扫,同时用一个hashmap里保存window里有的字母的下标。因为window里所有字母都只能出现一次,所以每次往右移window的时候1.删除window最左边的元素2.检查右边新入元素有没有在hashmap里出现,如果有的话就在新入元素左边补足下划线使他们距离等于K.
回复 支持 2 反对 0

使用道具 举报

francisliu 发表于 2016-6-17 05:52:09 | 显示全部楼层
多谢分享,第二题直接一个hash记录每个字母上一次出现的位置?
回复 支持 反对

使用道具 举报

LearnerChao 发表于 2016-6-17 06:22:04 | 显示全部楼层
求有时间时候细说说啊
回复 支持 反对

使用道具 举报

blackrose 发表于 2016-6-17 10:51:06 | 显示全部楼层
第二轮 应该是 at least K 把。
回复 支持 反对

使用道具 举报

sansi 发表于 2016-7-17 07:02:46 | 显示全部楼层
Three temp variables should be enough. Don't need hashmap. I changed '_' to '#' for the purpose of easy check by eye. Sorry, no Chinese input.. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  1. public String insert(String str) {
  2.                 if (str == null || str.length() <= 1) {
  3.                         return str;
  4.                 }.1point3acres缃
  5.                
  6.                 char ch1 = ' ';
  7.                 char ch2 = ' ';
  8.                 char ch3 = ' ';
  9.                 String res = "";
  10.                 for (int i = 0; i < str.length(); i++) {
  11.                         if (i == 0) {
  12.                                 res += str.charAt(i);
  13.                                 ch3 = str.charAt(i);
  14.                         } else {
  15.                                 char ch = str.charAt(i);
  16.                                 if (ch == ch3) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  17.                                         res += "###";
  18.                                         ch1 = '#';
  19.                                         ch2 = '#';. 1point 3acres 璁哄潧
  20.                                 } else if (ch == ch2) {
  21.                                         res += "##";
  22.                                         ch1 = '#';
  23.                                         ch2 = '#';
  24.                                 } else if (ch == ch1) {
  25.                                         res += "#";
  26.                                         ch1 = ch3;.1point3acres缃
  27.                                         ch2 = '#';
  28.                                 } else {
  29.                                         ch1 = ch2;
  30.                                         ch2 = ch3; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  31.                                 }
  32.                                 ch3 = ch;
  33.                                 res += ch;
  34.                         }
  35.                 }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  36.                
  37.                 return res;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  38.         }
复制代码
回复 支持 反对

使用道具 举报

Yoyo00 发表于 2016-7-22 14:17:42 | 显示全部楼层
class Solution {
  public static int getNext(String str, int index) {
    char ch = str.charAt(index);
    int next = -1;
    for(int i=index+1; i<str.length(); i++) {
      if(str.charAt(i) == ch)
        return i;. visit 1point3acres.com for more.
    }
    return next;
  }
  public static void main(String[] args) {
    String str = "AABACCDCD";
//     A___AB__AC___CD__CD
    StringBuilder sb = new StringBuilder();
    for(int i=0; i<str.length();i++) {
      int next = getNext(str, i);.鐣欏璁哄潧-涓浜-涓夊垎鍦
      if(next - i > 3) {
        sb.append(str.charAt(i));
      }
      else {
        sb.append(str.charAt(i));
        if(next-i == 1) {
          sb.append("___");
        } else if(next-i == 2) {
          sb.append("__");
        } else if(next-i == 3)
          sb.append("_");
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴      }
    }
    System.out.println(sb.toString());
//     A___A__BAC___C__D__CD
  }
} 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
回复 支持 反对

使用道具 举报

997562971@qq.co 发表于 2016-7-31 05:27:08 | 显示全部楼层
sansi 发表于 2016-7-17 07:02. 1point 3acres 璁哄潧
Three temp variables should be enough. Don't need hashmap. I changed '_' to '#' for the purpose of e ...

感觉这样是距离为3啊。。如果是距离为k,还是要弄个HashMap方便。。
回复 支持 反对

使用道具 举报

xnature 发表于 2016-8-10 02:27:36 | 显示全部楼层
blackrose 发表于 2016-6-17 10:51
第二轮 应该是 at least K 把。

我也觉得至少为k,要么保证case肯定所有的字幕都可以被间隔为k. 鍥磋鎴戜滑@1point 3 acres

比如ABBA,k=2,这种情况不可能
回复 支持 反对

使用道具 举报

cicean 发表于 2016-9-7 14:24:49 | 显示全部楼层
感觉第二题想Task schedule 的字母 char[] 版本
回复 支持 反对

使用道具 举报

WhatsFLAG 发表于 2016-12-23 06:46:38 | 显示全部楼层
楼主,请问Facebook的电话面试还要在coderpad上运行起来吗?那样的话是不是还有测试数据什么的呢?
回复 支持 反对

使用道具 举报

yuranrobin 发表于 2017-8-31 11:01:42 | 显示全部楼层
第二轮这样写不知可以不

  1. private static String insertUnderscore(String word, int k) {
  2.         int[] map = new int[26];-google 1point3acres
  3.         Arrays.fill(map, - k - 1);
  4.         char[] chs = word.toCharArray();. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  5.         StringBuilder sb = new StringBuilder();
  6.         int i = 0;
  7.         while (i < chs.length) {
  8.             if (map[chs[i] - 'A'] + k < sb.length()) {
  9.                 sb.append(chs[i]);. Waral 鍗氬鏈夋洿澶氭枃绔,
  10.                 map[chs[i] - 'A'] = sb.length() - 1;. From 1point 3acres bbs
  11.                 i++;. 1point 3acres 璁哄潧
  12.             } else {. visit 1point3acres.com for more.
  13.                 sb.append('_');
  14.             }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  15.         }
  16.         return sb.toString();
  17.     }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-11-23 21:21

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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