百度C++二面
场景题:
现有一个表存放了百度词条和其对应权重,如{百度一下:100},{百度管家:10}。数据量达到千万或亿级,请您设计一个系统,当用户输入一个前缀时,返回权重TOP10的词条。比如,输入“百”,会返回“百度管家”,“百度一下”等其权重是前TOP10的词条。
请问大家怎么做啊?
现有一个表存放了百度词条和其对应权重,如{百度一下:100},{百度管家:10}。数据量达到千万或亿级,请您设计一个系统,当用户输入一个前缀时,返回权重TOP10的词条。比如,输入“百”,会返回“百度管家”,“百度一下”等其权重是前TOP10的词条。
请问大家怎么做啊?
全部评论
海量数据TopK问题吧。根据前缀把原数据哈希成多个块分开存储
字典树?
请问你隔了多久三面
我也被问到这个了
当时不知道咋答,感觉应该要从数据库和缓存答吧
mapreduce?
相关推荐