【生活质量系列】评测几款用过的咖啡机

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
前Google华人高管创立
面试offer一键直通
Leap.ai助你进入热门独角兽
硅谷知名AI创业公司
图灵视频
招聘多个工程师职位
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
查看: 3128|回复: 13
收起左侧

fb家新鲜电面面经

[复制链接] |试试Instant~ |关注本帖
我的人缘0
oxfordjin11 发表于 2016-10-25 08:47:27 | 显示全部楼层 |阅读模式
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  87% (7)
 
 
12% (1)  踩

2016(10-12月) 码农类General 硕士 全职@Facebook - 内推 - 技术电面  | Other | fresh grad应届毕业生

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

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

x
面试官首先自我介绍了一下,一个facebook infrasturcture组的小哥。
然后问了一下简历上的实习经历,问的most challenging part 和 most interesting part.
coding两道题
1.move zeros, 不要求非零元素的顺序
2.minimum substring window (lc76)的变形,给一个string然后一个alphabet(也是一个string,每个字母只出现一次),让你找一个最短的substring,要求里面出现alphabet里面所有的字母。
然后最后留了5分钟问问题。
第二题没答好,感觉要挂......
大米求大米

评分

参与人数 4大米 +42 收起 理由
睿智的草 + 1 bless
Xochitl + 1 欢迎来一亩三分地论坛!
xiaozhuxiaozhu + 10 感谢分享!
candy_shmily + 30

查看全部评分


上一篇:Uber学校一面
下一篇:skype店面
我的人缘0
weii 发表于 2016-10-25 10:20:42 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (5)
 
 
0% (0)  踩
momo 请问第二题LZ哪里没答好?感觉跟LC76那题还是一样的,能用LC67的方法解决
回复

使用道具 举报

我的人缘0
tonymuu 发表于 2016-10-25 12:13:34 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (6)
 
 
0% (0)  踩
感觉如果他们问你简历的话就说明你以前经验很丰富的 所以算是加分项的吧!
回复

使用道具 举报

我的人缘0
 楼主| oxfordjin11 发表于 2016-10-25 20:36:42 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  87% (7)
 
 
12% (1)  踩
tonymuu 发表于 2016-10-25 12:13. 牛人云集,一亩三分地
感觉如果他们问你简历的话就说明你以前经验很丰富的 所以算是加分项的吧!

可能他们就对你的实习经历还感兴趣一点...其余的就什么都没问了
回复

使用道具 举报

我的人缘0
 楼主| oxfordjin11 发表于 2016-10-25 20:38:44 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  87% (7)
 
 
12% (1)  踩
weii 发表于 2016-10-25 10:20
momo 请问第二题LZ哪里没答好?感觉跟LC76那题还是一样的,能用LC67的方法解决

确实能用那题的方法解决...但我当时不记得那道题怎么做的了...就按照自己想的思路说了...中间还卡住了...code没写完

21.000+ students read the Road to learn React. The course weaves all the opinionated roadmaps into one roadmap to master React. It gives you all the fundamentals in React. You will build a Hacker News App along the way.

回复

使用道具 举报

我的人缘0
tonymuu 发表于 2016-10-26 02:31:35 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (6)
 
 
0% (0)  踩
oxfordjin11 发表于 2016-10-25 20:36
可能他们就对你的实习经历还感兴趣一点...其余的就什么都没问了

第二道题挺难的感觉 所以他们应该会考虑题目难度?反正要是我上肯定没有思路。。
回复

使用道具 举报

我的人缘0
春山寒 发表于 2016-10-26 02:46:22 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  90% (28)
 
 
9% (3)  踩
一亩三分地严打"顶""好贴""收藏了"之类的垃圾回复帖!被警告三次,系统会自动封杀ID!

想支持楼主,请点击帖子下方的"好苗""分享""收藏"键,酌情给楼主加大米(系统不扣你自己的分)。
积分不够看不了帖子,请参考论坛导航里的"帮助","新手提纲"里有攒积分指南
回复

使用道具 举报

我的人缘0
iPhD 发表于 2016-10-26 03:02:21 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  87% (61)
 
 
12% (9)  踩
move zero那题不要求非0元素顺序,该怎么做?你是用的swap的方法?还是和LC一样的方法?
回复

使用道具 举报

我的人缘0
 楼主| oxfordjin11 发表于 2016-10-26 06:10:10 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  87% (7)
 
 
12% (1)  踩
iPhD 发表于 2016-10-26 03:02
move zero那题不要求非0元素顺序,该怎么做?你是用的swap的方法?还是和LC一样的方法?
.留学论坛-一亩-三分地
我一上来直接写的lc的方法,然后小哥说这样可能会有不必要的操作,然后我就说的swap的方法,然后他说make sense.我觉得要的是swap的方法,要不然也不会强调不要求非零元素的顺序。
回复

使用道具 举报

我的人缘0
youto 发表于 2016-10-29 09:31:11 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  60% (15)
 
 
40% (10)  踩
请问楼主,第二题是说找一个substring是alphabet字符串的anagram形式?最短的话不就是和alphabet字符一样长的substring?不知道理解的对不对?
回复

使用道具 举报

我的人缘0
 楼主| oxfordjin11 发表于 2016-10-30 02:25:25 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  87% (7)
 
 
12% (1)  踩
youto 发表于 2016-10-29 09:31. visit 1point3acres for more.
请问楼主,第二题是说找一个substring是alphabet字符串的anagram形式?最短的话不就是和alphabet字符一样长 ...

最好的情况是每个字母在substring里只出现一次,而且没有其他字母,但是题目的意思是找一个包括alphabet里面所有字母的最短字符串,这个字符串不一定是anagram.

Learn React.js, Redux & Immutable.js while building a weather app

回复

使用道具 举报

我的人缘0
youto 发表于 2016-10-30 02:40:28 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  60% (15)
 
 
40% (10)  踩
oxfordjin11 发表于 2016-10-30 02:25
最好的情况是每个字母在substring里只出现一次,而且没有其他字母,但是题目的意思是找一个包括alphabet ...

那就是说minimum substring window分两种情况,如果有substring只包含了alphbet的,那就是结果;没有的话,就是lc上的那种做法,找到最短的substring能够包含alphbet,但是可能还有其他字符,比如alphbet是abc,但是结果是bnac
回复

使用道具 举报

我的人缘0
zzgzzm 发表于 2016-10-30 04:30:05 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  98% (63)
 
 
1% (1)  踩
1. Move zeros 我就假设是要求把数组中zero in place移到末尾。对于是否要求非零元素的相对位置不变(stable vs unstable),就是时间O(2n) vs O(n)的区别。关键是当前遇到0时,是和后面第一个非零元素交换(O(2n))还是最后一个非零元素交换(O(n)):
  1. // stable O(2n)
  2. void moveZerosToEnd1(vector<int>& a) {
  3.   int n = a.size(); if (n < 2) return;
    .1point3acres网
  4.   int i = 0; // first index of zero value
  5.   while (i < n) {
  6.     if (a[i] != 0) i++;
  7.     else {
  8.       int j = i+1; // first index of non-zero value after i
  9.       while (j < n && a[j] == 0) j++;
  10.       if (j == n) return;
  11.       swap(a[i], a[j]);
  12.       i = j;
  13.     }
  14.   }
  15. }

  16. // unstable O(n)
  17. void moveZerosToEnd2(vector<int>& a) {
  18.   int n = a.size(); if (n < 2) return;
  19.   int i = 0; // first index of zero value
  20.   int j = n-1; // last index of non-zero value
  21.   while (i < n) {
  22.     if (a[i] == 0) {
  23.       while (j > i && a[j] == 0) j--;
  24.       if (j == i) return;
  25.       swap(a[i], a[j]); 来源一亩.三分地论坛.
  26.     }. 牛人云集,一亩三分地
  27.     i++;.留学论坛-一亩-三分地
  28.   }
  29. }
复制代码
回复

使用道具 举报

我的人缘0
zzgzzm 发表于 2016-10-30 05:40:42 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  98% (63)
 
 
1% (1)  踩
2.minimum substring window. 这个题和求longest substr with at most k distinct chars类似。我用two pointers i, j 指向substring的头尾,让j向前进,同时保持substring字符频率统计,直到当所有要求字符都出现时记录当前长度及substring。然后移动i, 同时减小字符频率统计直到有一个要求字符被丢掉时停止,再前进j, 不断重复。这个题我觉得思路不难,但实现起来不容易写。(真正要是在interview时我写得还是慢。。。)
因为给定的alphabet是个string, 我需要转化成unordered_set<char> (hashset)提高时间效率。整体i, j至多扫描string一遍O(N) + 转化alphabet为hashset的O(M)时间。
大家还有什么办法?
  1. string minSubstr(string& s, string& alphabet) {
  2.   int n = s.length(), m = alphabet.size();
  3.   string res; // result to hold required min substring. 牛人云集,一亩三分地
  4.   if (n < m || n == 0) return res;
  5.   int i = 0, j = -1, minlen = n;
  6.   unordered_map<char, int> freq; // char frequency of substring
  7.   unordered_set<char> chars; // all chars in alphabet
  8.   for (char& c:alphabet) chars.insert(c); // O(m)
  9.   . more info on 1point3acres
  10.   while (++j < n) { // O(n)
  11.     // if a new char in alphabet encountered
  12.     if (chars.count(s[j]) && !freq.count(s[j])) m--;
  13.     freq[s[j]]++;
  14.    
  15.     // have all chars in alphabet
  16.     while (m == 0) {.留学论坛-一亩-三分地
  17.       if (j-i+1 < minlen) { // better substring found
  18.         minlen = j-i+1; res = s.substr(i, j-i+1);  
  19.       }
  20.       i++; // drop first char in substring
  21.       if (--freq[s[i]] == 0) {
  22.         freq.erase(s[i]); .本文原创自1point3acres论坛
  23.         if (chars.count(s[i])) m++; // miss a char in alphabet
  24.       }
  25.     }-google 1point3acres
  26.   }
  27.   return res;
  28. }
复制代码
. 围观我们@1point 3 acres
补充内容 (2016-10-30 05:41):
若根本找不到要求的substring我的算法就返回空string
回复

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

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

GMT+8, 2018-9-20 02:38

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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