一亩三分地论坛

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

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

Facebook Intern电面

[复制链接] |试试Instant~ |关注本帖
yhfyhf 发表于 2016-1-5 08:25:25 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 实习@Facebook - 内推 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
一面感谢面试官放水,让我过了。
今天二面,是一个三姐。第一题是Valid Palindrome, 我写完后说我有bug,我给她解释后她说是她错了。

第二题是Task Schedule, 地里有面经。大致意思是每种task都有冷却时间,比如task1执行后,要经过interval时间后才能再次执行,求总共所需时间。
Sample 1
tasks: 1, 1, 2, 1.  recovery interval: 2.鐣欏璁哄潧-涓浜-涓夊垎鍦
output: 7  (order is 1 _ _ 1 2 _ 1). more info on 1point3acres.com

Sample 2
tasks: 1, 2, 3, 1, 2, 3.  recovery interval: 3
output: 7  (order is 1 2 3 _ 1 2 3). visit 1point3acres.com for more.

一开始写了个bug,三姐让我描述一遍test case, 自己改了过来。followup是tasks是无序的,大致讲了一下思路,期间也让三姐提示了一下,时间就到了。问了几个问题结束。. 1point3acres.com/bbs
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴


补充内容 (2016-1-7 23:21):
已被拒:(

评分

4

查看全部评分

virpro 发表于 2016-2-4 05:47:36 | 显示全部楼层
我的感觉,这道题里面的间隔是按照每个task算的,相当于是cooldown。而且每个task的执行时间和cooldown时间都相等,可以认为都是以1为单位。

我的思路是count所有的task,然后找到count最大的task的个数,那么总时间不小于(max-1)*(interval+1)+countOfMax. 返回这个总时间和数组总长度的较大者。

贴一下我的代码,欢迎指正。

    public int totalTime(int[] tasks, int interval) {. Waral 鍗氬鏈夋洿澶氭枃绔,
        if (tasks == null || tasks.length == 0).鐣欏璁哄潧-涓浜-涓夊垎鍦
            return 0;
        Map<Integer, Integer> map = new HashMap<>();
        for (int task : tasks) {
            map.put(task, map.containsKey(task) ? map.get(task)+1 : 1);. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
        }
        int countOfMax = 0;
        int max = 0;
        for (int count : map.values()) {
            if (count > max) {
                max = count;
                countOfMax = 1;
            } else if (count == max)
                countOfMax++;
        }
        if (countOfMax >= interval) {. visit 1point3acres.com for more.
            return tasks.length;. more info on 1point3acres.com
        }
        int total = (max-1) * ( interval+1) + countOfMax;
        return Math.max(total, tasks.length); 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    }

补充内容 (2016-2-4 05:50):
        if (countOfMax >= interval) {
            return tasks.length;
        }

这个判断应该去掉。
回复 支持 1 反对 0

使用道具 举报

DJ963 发表于 2016-1-5 08:37:59 | 显示全部楼层
恭喜楼主了~感觉楼主稳了!
回复 支持 反对

使用道具 举报

hulahu 发表于 2016-1-5 09:32:25 | 显示全部楼层
followup是tasks是无序的? 可以具体说说吗?
回复 支持 反对

使用道具 举报

 楼主| yhfyhf 发表于 2016-1-5 09:45:50 | 显示全部楼层
hulahu 发表于 2016-1-5 09:32
followup是tasks是无序的? 可以具体说说吗?

正确的做法应该是统计每个task的frequency,然后每次选frequency最高并且可以执行的task执行。
回复 支持 反对

使用道具 举报

leixiang5 发表于 2016-1-5 10:05:51 | 显示全部楼层
恭喜楼主得到fb仅剩无几的offer
回复 支持 反对

使用道具 举报

wtcupup 发表于 2016-1-6 00:35:25 | 显示全部楼层
请问第二题的思路是什么?
回复 支持 反对

使用道具 举报

 楼主| yhfyhf 发表于 2016-1-6 06:14:32 | 显示全部楼层
wtcupup 发表于 2016-1-6 00:35
. 1point 3acres 璁哄潧请问第二题的思路是什么?
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
用一个hashmap保存每个task可以开始执行的最早时间。
回复 支持 反对

使用道具 举报

caffery24 发表于 2016-1-8 06:18:21 | 显示全部楼层
楼主怎么悲剧啊,不是都答出来了啊。。。是没坑了吗
回复 支持 反对

使用道具 举报

 楼主| yhfyhf 发表于 2016-1-8 06:22:06 | 显示全部楼层
caffery24 发表于 2016-1-8 06:18
楼主怎么悲剧啊,不是都答出来了啊。。。是没坑了吗

不知道诶。。recruiter不给feedback。。。
回复 支持 反对

使用道具 举报

caffery24 发表于 2016-1-8 06:23:44 | 显示全部楼层
yhfyhf 发表于 2016-1-8 06:22
不知道诶。。recruiter不给feedback。。。

lz肯定有更好的。可能真是没坑了。。。感觉fb也没戏了。lz你知道这个最终结果是一面二面结合,还是只和二面有关系啊。我感觉你的二面答得很好啊
回复 支持 反对

使用道具 举报

 楼主| yhfyhf 发表于 2016-1-8 06:25:21 | 显示全部楼层
caffery24 发表于 2016-1-8 06:23
lz肯定有更好的。可能真是没坑了。。。感觉fb也没戏了。lz你知道这个最终结果是一面二面结合,还是只和二 ...
.鐣欏璁哄潧-涓浜-涓夊垎鍦
不知道诶。。我猜可能是自己答得不完美,面试官是印度人感觉不是特别友善,坑不多了bar有所提高,各方面都有原因吧。。
回复 支持 反对

使用道具 举报

caffery24 发表于 2016-1-8 06:27:00 | 显示全部楼层
yhfyhf 发表于 2016-1-8 06:25
不知道诶。。我猜可能是自己答得不完美,面试官是印度人感觉不是特别友善,坑不多了bar有所提高,各方面 ...

好吧,楼主别在意,肯定有更好的。
回复 支持 反对

使用道具 举报

 楼主| yhfyhf 发表于 2016-1-8 06:28:45 | 显示全部楼层
caffery24 发表于 2016-1-8 06:27
好吧,楼主别在意,肯定有更好的。

谢谢,你也是!
回复 支持 反对

使用道具 举报

atwoodwang0918 发表于 2016-1-9 04:31:37 | 显示全部楼层
楼主别灰心 会有更好的offer的~顺便想问问 那个follow up说tasks是无序的 难道一开始tasks是有序的?比如1,1,1,2,3,4?那你给的sample等于说是follow up的sample??我有点不太懂 麻烦讲解下!谢谢!!
回复 支持 反对

使用道具 举报

 楼主| yhfyhf 发表于 2016-1-9 05:21:37 | 显示全部楼层
atwoodwang0918 发表于 2016-1-9 04:31
楼主别灰心 会有更好的offer的~顺便想问问 那个follow up说tasks是无序的 难道一开始tasks是有序的?比如1, ...

一开始是有序的,比如说1, 1, 2, 1,一定要先执行第一个task1,然后等task1恢复,再执行第2个task1,再执行task2..... followup是无序的,就是不用按给的顺序执行,也就是可以先执行task1,然后task1还没恢复时,先执行task2, etc......
回复 支持 反对

使用道具 举报

atwoodwang0918 发表于 2016-1-9 05:30:20 | 显示全部楼层
yhfyhf 发表于 2016-1-9 05:21
一开始是有序的,比如说1, 1, 2, 1,一定要先执行第一个task1,然后等task1恢复,再执行第2个task1,再执 ...

嗦嘎~就是说follow up是求最短的执行时间??
回复 支持 反对

使用道具 举报

 楼主| yhfyhf 发表于 2016-1-9 05:32:59 | 显示全部楼层
atwoodwang0918 发表于 2016-1-9 05:30. from: 1point3acres.com/bbs
嗦嘎~就是说follow up是求最短的执行时间??
-google 1point3acres
嗯,是的。
回复 支持 反对

使用道具 举报

163 发表于 2016-1-9 07:43:53 | 显示全部楼层
这个follow up我感觉还是挺难的。虽然算法很简单。不过想说清楚算法能给出最优解,还是得费些劲。
回复 支持 反对

使用道具 举报

Augustus 发表于 2016-1-12 06:07:16 | 显示全部楼层
老兄,你是发邮件拒的还是打电话拒的?
回复 支持 反对

使用道具 举报

 楼主| yhfyhf 发表于 2016-1-12 07:17:41 | 显示全部楼层
Augustus 发表于 2016-1-12 06:07
老兄,你是发邮件拒的还是打电话拒的?

我早上七点发邮件去问,recruiter邮件秒回拒的。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 06:40

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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