优酷土豆2013笔试题一道

优酷是中国第一的视频网站,每天有上亿的视频被观看,现在公司请研发人员找出最热门的视频。 
 
该问题的输入可以简化为一个字符串文件,么一行都表示一个视频id,然后要找出出现次数最多的前100个视频id,将其输出,同时输出该视频的出现次数。 
 
1.假设每天的视频播放次数为3亿次,被观看的视频数量为一百万个,每个视频ID的长度为20字节,限定使用的内存为1G。请简述做法,再写代码。 
 
2.假设每个月的视频播放次数为100亿次,被观看的视频数量为1亿,每个视频ID的长度为20字节,一台机器被限定使用的内存为1G。 
 
那么相像找这个月被播放次数最多的前100个视频,应该怎么做?请描述清楚可能的办法。 

优酷土豆2013笔试题一道》上有3条评论

  1. 个人思考了下 应该怎么做;
    这个问题的关键 在于把这么多的id 怎么分组 以适应 1G的 内存
    1.第一个呢 大约可以分为15份,暂定20份。
    id模20 分组 —-如果是数字 直接模20 如果 有数字和字母 也可以模 具体呢 就模拟16进制那样取模。
    这样分组之后呢 同一个id肯定被分在了同一个组之中, 然后分别取出前100
    然后再比较
    2.呢 就用同样的方式 就可以了 只不过 数据量大了 而已

  2. 之前面试baidu的时候,也被面试到一个相似的题目,就是把视频换成贴子而已

发表评论

电子邮件地址不会被公开。 必填项已用*标注