一亩三分地论坛

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

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

Facebook 电面

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

2016(1-3月) 码农类 博士 全职@Facebook - 内推 - 技术电面 |Fail在职跳槽

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

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

x
上周面的,很简单一题让我弄砸了

具体题目是,有一些任务ABC,每个相同的任务中间会有一些cooldown时间。比如如果cooldown是5的话,那么执行任务AABB就必须是A.....AB.....B。写一个函数输入时任务(字符串),cooldown时间,输出是总时间。我想着电面有两题,前面聊天就浪费了一些时间,这个得写快点。结果写了一个bug,而且自己run test case的时候还没发现。最后是面试的人指出的。找这个bug的时间太久,最后也没时间面第二题。啥也别说了,大家给点米安慰安慰吧。

评分

3

查看全部评分

francisliu 发表于 2016-3-20 11:27:16 | 显示全部楼层
具体说说bug呗,警醒后人,同时祝好运,结果还没出来不是?
回复 支持 反对

使用道具 举报

 楼主| gigimei 发表于 2016-3-20 11:39:06 | 显示全部楼层
我用一个HashMap保存上一次任务的时间点。脑袋一发烧存成了在原字符串中的位置。我测试的例子比如ABAB,AABC什么的恰好找不出这个bug。说实话,如果不是面试这种错误根本不会犯。一紧张就技术变形了。第二天就收到recruiter的Thank You letter了。
回复 支持 反对

使用道具 举报

honeyBear142857 发表于 2016-3-20 23:30:35 | 显示全部楼层
楼主不用太担心,有可能会过的,我面试的时候也出现了bug,最后也没有修改完全,后来又安排了一次加面
回复 支持 反对

使用道具 举报

freemail165 发表于 2016-3-21 02:19:10 | 显示全部楼层
一定要保留原来次序吗?
回复 支持 反对

使用道具 举报

 楼主| gigimei 发表于 2016-3-21 02:30:50 | 显示全部楼层
对,要保留原来的顺序。
回复 支持 反对

使用道具 举报

bestdyc 发表于 2016-3-21 04:28:08 | 显示全部楼层
楼主full time吗
回复 支持 反对

使用道具 举报

freemail165 发表于 2016-3-21 04:38:28 | 显示全部楼层
. more info on 1point3acres.com
仔细看帖,另外问这个有啥意义?
回复 支持 反对

使用道具 举报

junw24 发表于 2016-3-23 12:32:40 | 显示全部楼层
gigimei 发表于 2016-3-20 11:39
我用一个HashMap保存上一次任务的时间点。脑袋一发烧存成了在原字符串中的位置。我测试的例子比如ABAB,AAB ...

为什么要用Hashmap?直接累加cooldown时间不行吗?
回复 支持 反对

使用道具 举报

wangmengcathy 发表于 2016-3-23 23:59:56 | 显示全部楼层
楼主你好,想问下这个难道必须要按顺序么 不是输出最短时间?比如AABB是AB...AB ?
回复 支持 反对

使用道具 举报

freemail165 发表于 2016-3-28 06:45:59 | 显示全部楼层
public int Cooldown(String input,int N) {
    int extra=0;
    Map<Character,Integer> map=new HashMap<>();
   for(int i=0;i<input.length();i++) {
          char cur=input.charAt(i);. visit 1point3acres.com for more.
          while(map.containsKey(cur) && map.get(cur)>=i+extra-N) {
                    extra++;. visit 1point3acres.com for more.
          }. 1point3acres.com/bbs
          map.put(cur,i+extra-1);
   }
   return input.length()+extra;
}
回复 支持 反对

使用道具 举报

ericLaw 发表于 2016-3-28 10:38:14 | 显示全部楼层
freemail165 发表于 2016-3-28 06:45
public int Cooldown(String input,int N) {
    int extra=0; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    Map map=new HashMap();

中间的while loop没有必要,会增加消耗。
回复 支持 反对

使用道具 举报

freemail165 发表于 2016-3-28 10:43:55 | 显示全部楼层
ericLaw 发表于 2016-3-28 10:38
中间的while loop没有必要,会增加消耗。
. 1point3acres.com/bbs
真的吗?
那相应逻辑怎么处理呢
回复 支持 反对

使用道具 举报

ericLaw 发表于 2016-3-28 11:17:41 | 显示全部楼层
freemail165 发表于 2016-3-28 10:43
真的吗?
那相应逻辑怎么处理呢

直接差值加上去,不要用while loop来加。这样加如果cooldown时间很大会超时的。
回复 支持 反对

使用道具 举报

freemail165 发表于 2016-3-28 11:22:36 | 显示全部楼层
ericLaw 发表于 2016-3-28 11:17
直接差值加上去,不要用while loop来加。这样加如果cooldown时间很大会超时的。

还真是,谢谢提醒
回复 支持 反对

使用道具 举报

shepherd001 发表于 2016-3-30 03:53:35 | 显示全部楼层
freemail165 发表于 2016-3-28 06:45
public int Cooldown(String input,int N) {
    int extra=0;
    Map map=new HashMap();

不太理解这道题。
难道不是简单的linear过去,判断当前task是否和前一个一样,一样的话直接加N?
是不是这道题我理解有问题。
为什么需要这个while:
while(map.containsKey(cur) && map.get(cur)>=i+extra-N) {extra++;}
谢谢!
回复 支持 反对

使用道具 举报

freemail165 发表于 2016-3-30 09:52:32 | 显示全部楼层
shepherd001 发表于 2016-3-30 03:53
不太理解这道题。. Waral 鍗氬鏈夋洿澶氭枃绔,
难道不是简单的linear过去,判断当前task是否和前一个一样,一样的话直接加N?
是不 ...

如果是ABCDE*A的情况,你觉得需要加N吗?
回复 支持 反对

使用道具 举报

shepherd001 发表于 2016-3-31 01:53:49 | 显示全部楼层
freemail165 发表于 2016-3-30 09:52. more info on 1point3acres.com
如果是ABCDE*A的情况,你觉得需要加N吗?
. From 1point 3acres bbs
按照我的理解不需要啊,这里面你的*表示什么意思?任意task?
我知道我对这道题的理解有点问题,所以想请你解释一下的,谢谢
回复 支持 反对

使用道具 举报

ericLaw 发表于 2016-3-31 05:47:05 | 显示全部楼层
shepherd001 发表于 2016-3-31 01:53. more info on 1point3acres.com
按照我的理解不需要啊,这里面你的*表示什么意思?任意task?
我知道我对这道题的理解有点问题,所以想 ...

这个N是指两个相同任务之间间隔的时间,也就是说可以进行其他任务,如果没有其他任务就只能停下来等。像cooldown =2 ABBA和AA都是要4天才能完成
回复 支持 反对

使用道具 举报

shepherd001 发表于 2016-3-31 06:00:22 | 显示全部楼层
ericLaw 发表于 2016-3-31 05:47
这个N是指两个相同任务之间间隔的时间,也就是说可以进行其他任务,如果没有其他任务就只能停下来等。像c ...

OK,那我觉得是题目本身描述的不是那么清楚,不过现在了解了,谢谢。
另外,cooldown=2的话,AA是2,那ABBA应该是6吧?两个B之间也应该有个cool down吧
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-10 00:56

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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