由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问个系统设计题
相关主题
求问一个面试题[合集] 报个微软的OFFER以及面经
load一个巨大的k-v table到一个view里,有搜索功能 怎么设计? (转载)这道题太神奇了,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),
问个设计题问一个经典题目
问个sql题G 公司的一个面试题
问个sql问题再问一道题
问个mutex的面试题Facebook Puzzle Gattaca
问个hash table的问题问一道google的题
问个sql小提。大牛勿进问道题
相关话题的讨论汇总
话题: tables话题: key话题: would话题: 爱好体育话题: field
进入JobHunting版参与讨论
1 (共1页)
l**o
发帖数: 356
1
以前的面经上看到的
4. system design: 每个record有个很大field,比如年龄,性别,爱好等。给一个
field的组合,比如小于25岁,爱好体育,query满足这些组合条件的用户个数
这个应该怎么回答呀?
谢谢
g*****g
发帖数: 34805
2
上 elastic search做几个索引即可。

【在 l**o 的大作中提到】
: 以前的面经上看到的
: 4. system design: 每个record有个很大field,比如年龄,性别,爱好等。给一个
: field的组合,比如小于25岁,爱好体育,query满足这些组合条件的用户个数
: 这个应该怎么回答呀?
: 谢谢

e********3
发帖数: 229
3

没用过es,可以具体点不

【在 g*****g 的大作中提到】
: 上 elastic search做几个索引即可。
x*******9
发帖数: 138
4
“年龄,性别,爱好”
这种都是值比较少的field。例如年龄最多不过100个,性别算上trans最多不过10个。
爱好可以多选,如果我们限制一下,最多1000种组合。
这样算起来<年龄,性别,爱好>做一个联合Key的话,最多只有10^6种情况。
所以,我的设计是将这些值域比较小的Key做一个联合。然后再在上面加索引,直接维
护key->size(value)。
每次请求拿一个Key或多个Key即可。
这种方法的局限是对于范围查询效率较低,这时我们就要做一个tradeoff,在控制查询
精确性和结果精确性之间做一个平衡。
例如:
满足“20~25岁,男,爱好体育”这种查询就要比 “25岁,男,爱好体育”要简单。
因为我们将20~25岁看做一个年龄范围,这样我们索引的值域就要小很多。对于数据的
聚合也就更有效率。
b**********5
发帖数: 7881
5
in the 90s, we would do sql tables, age, sex, hobbies would be 3 tables, and
we would put indexes on those tables, and when we do query, we would join
those 3 tables.
now, cassandra/solr (

【在 l**o 的大作中提到】
: 以前的面经上看到的
: 4. system design: 每个record有个很大field,比如年龄,性别,爱好等。给一个
: field的组合,比如小于25岁,爱好体育,query满足这些组合条件的用户个数
: 这个应该怎么回答呀?
: 谢谢

1 (共1页)
进入JobHunting版参与讨论
相关主题
问道题问个sql问题
这个题没怎么看大家讲过问个mutex的面试题
Quantcast悲剧面经问个hash table的问题
说一下我最近面过的题吧问个sql小提。大牛勿进
求问一个面试题[合集] 报个微软的OFFER以及面经
load一个巨大的k-v table到一个view里,有搜索功能 怎么设计? (转载)这道题太神奇了,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),
问个设计题问一个经典题目
问个sql题G 公司的一个面试题
相关话题的讨论汇总
话题: tables话题: key话题: would话题: 爱好体育话题: field