一亩三分地论坛

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

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

求问一道推特面经设计题

[复制链接] |试试Instant~ |关注本帖
huwenchang8 发表于 2016-9-1 07:35:17 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Twitter - 网上海投 - 技术电面 |Other其他

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

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

x
给一个stream的object,里面包含id,timestamp 和country。

设计三个function
1. insert object
2. getToptenMostPopular in the past 10hrs
3. getTopTenMostPopuarByCountry in the past 10hr. Waral 鍗氬鏈夋洿澶氭枃绔,

要求能处理每秒200万的insert流量

举例:
id1, 100, Country1. from: 1point3acres.com/bbs
id2, 110, Country2
id3..
id4..
...
id10..
id1, 110, Country1

 楼主| huwenchang8 发表于 2016-9-1 07:35:51 | 显示全部楼层
补充,这是10分钟前的电面
回复 支持 反对

使用道具 举报

redhumor 发表于 2016-9-1 08:15:50 | 显示全部楼层
这个题可以用长度为10的数组保存, 每5分钟(或者10分钟?反正不要产生太多数组)建这样一个数组, 对于这5分钟内的数据, 我可以通过hashmap获得一个id在5分钟内出现的次数, 也就可以更新这个数组(如果某个id 比当前这个长度为10的数组中出现最少的次数要多, 那就替换数组中的数据), ok 然后我们要查询十小时内的数据了, 可以获得10小时内一共有120个数组, 每个数组有10个数据(即使最久的数组有些id已经过时了,但是长度为10的数组,足够我们把它过滤出来),然后就是归并这120个数组了,应该很快很快。。毕竟长度为10.。 对于每个country的解法一样
回复 支持 反对

使用道具 举报

redhumor 发表于 2016-9-1 08:24:35 | 显示全部楼层
补充一点, 对于边界条件, 比如当前是10:02, 那需要gather 00:02 到 10:02的数据, 我们肯定会拿到 00:00 到00:05的数据, 所以对于每个5分钟还需要建一个 1分钟的top10 数组,1秒钟的top10数组, 这些只是为了边界而用, 00:02 到00:05一共3个top ten,也就是 不会比原来多出多少数据。。
回复 支持 反对

使用道具 举报

sniffsky 发表于 2016-9-1 08:35:22 | 显示全部楼层
请问楼主是new grad吗?
回复 支持 反对

使用道具 举报

 楼主| huwenchang8 发表于 2016-9-1 10:20:59 | 显示全部楼层
redhumor 发表于 2016-9-1 08:15
这个题可以用长度为10的数组保存, 每5分钟(或者10分钟?反正不要产生太多数组)建这样一个数组, 对于这5 ...

这个方法牛逼啊,但是country应该怎么做啊,那个面试官老是说2 dimension
回复 支持 反对

使用道具 举报

 楼主| huwenchang8 发表于 2016-9-1 10:21:29 | 显示全部楼层
sniffsky 发表于 2016-9-1 08:35
请问楼主是new grad吗?

我是在职的
回复 支持 反对

使用道具 举报

redhumor 发表于 2016-9-1 12:33:07 | 显示全部楼层
huwenchang8 发表于 2016-9-1 10:20
这个方法牛逼啊,但是country应该怎么做啊,那个面试官老是说2 dimension

世界上就那么些个country, 你来一条数据, 就将这条数据hash 到那个country, 然后 那个country 用我说的方法处理就好了, 突然想到 对于global的, 其实 可以取出每个country的 top10,然后归并。。一开始傻了。。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

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

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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