查看: 5120| 回复: 17
跳转到指定楼层
上一主题 下一主题
收起左侧

[找工就业] Amazon hackerrank 240 min 题目

全局:

2017(10-12月)-CS硕士+3个月-1年 | 内推|美国其他地区 码农类General全职@amazon

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
据说发帖子可以攒人品,发一个刚刚的online code assignment

地里面找来的内推,10/16周一推得,周五收到了Most Popular Videos 的code assignment。今天做完和提交。. 1point 3 acres
题目就是实时获取video的popular程度和排名,需要实现三个函数,

videoViewed(String videoId) - 观看video,每看一次view次数就会增加
getRanking(String video) 根据一个videoId,找到其排名,排名根据views的次数来排序
getTopVideos() - 得到前十排名

video大概数量为1 million,设计一个实现方案来存储和获取video,要求详细写明思考的过程,分析复杂度,必要时注释。

我用的方法就是类似LRU的实现,hashmap + doubly linkedlist,如果view的次数变动,那么就移动那个video 的linkedlist节点到相应的位置。. From 1point 3acres bbs



评分

参与人数 2大米 +4 收起 理由
now + 1 给你点个赞!
Galileo_Galilei + 3 很有用的信息!

查看全部评分


上一篇:求大神们帮帮小白改改简历~~~~~~~~
下一篇:分享高盛的一点小经验

本帖被以下淘专辑推荐:

推荐
 楼主| 水果糖 2017-10-25 08:46:58 | 只看该作者
全局:
黓龙君 发表于 2017-10-25 06:00
getTopVideos() 是用 PriorityQueue 来实现吗? 如果只用 LinkedList + HashMap,那 getRanking(S ...

LinkedList就是有序的,里面记录rank,更新view的时候一起更新下,所以getRanking就直接是O(1)了。getTopVideos()直接从头取一次就行。
回复

使用道具 举报

推荐
RightSoFar 2017-10-26 10:05:05 | 只看该作者
全局:
水果糖 发表于 2017-10-26 02:20
能详细说下么? 我不会并发。

1m 的库,按理说不大可能只有一个人去访问。-baidu 1point3acres

如果多个人同时访问了一个video,你要怎么处理?

比如有两个Thread同时call videoViewed("1") 这样
回复

使用道具 举报

推荐
 楼主| 水果糖 2017-11-4 01:59:54 | 只看该作者
全局:
RightSoFar 发表于 2017-10-26 10:05
1m 的库,按理说不大可能只有一个人去访问。

如果多个人同时访问了一个video,你要怎么处理?

好的,谢谢。我给你发私信了,能加微信请教下这个问题么?
回复

使用道具 举报

🔗
msu_HIDDEN 2017-10-24 07:05:59 | 只看该作者
全局:
请问lz是实习还是ft?
回复

使用道具 举报

🔗
 楼主| 水果糖 2017-10-24 07:24:03 | 只看该作者
全局:
msu_HIDDEN 发表于 2017-10-24 07:05
请问lz是实习还是ft?

fulltime,我是准备在职跳槽
回复

使用道具 举报

🔗
zmlzeze 2017-10-24 09:30:55 | 只看该作者
本楼:
全局:
LFU。紫薯
回复

使用道具 举报

🔗
lyj87372517 2017-10-25 01:07:54 | 只看该作者
全局:
我上周末也做了这个,昨天催hr去看看,今天给我说他们没收到,但会再帮我查下。。。真是玄学公司服了
回复

使用道具 举报

🔗
 楼主| 水果糖 2017-10-25 05:44:44 | 只看该作者
全局:
lyj87372517 发表于 2017-10-25 01:07
我上周末也做了这个,昨天催hr去看看,今天给我说他们没收到,但会再帮我查下。。。真是玄学公司服了

啊,是么,那我明天也再问下HR试试
回复

使用道具 举报

🔗
黓龙君 2017-10-25 06:00:43 | 只看该作者
全局:
getTopVideos() 是用 PriorityQueue 来实现吗? 如果只用 LinkedList + HashMap,那 getRanking(String video) 感觉要花 O(n) 的时间,有点太长了。在想怎么优化。
回复

使用道具 举报

🔗
RightSoFar 2017-10-25 15:59:08 | 只看该作者
全局:
这种应该要考虑并发的吧。
回复

使用道具 举报

🔗
 楼主| 水果糖 2017-10-26 02:20:19 | 只看该作者
全局:
RightSoFar 发表于 2017-10-25 15:59
这种应该要考虑并发的吧。

能详细说下么? 我不会并发。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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