Shopee后端研发 开放式问答

问,十亿的数据量,每条数据4个字节,如何去重,或者统计每条数据出现的次数;
面试官开始没有说数据量,我回答是,在不考虑空间复杂度的情况下,用集合或哈希表;
面试官后来加入了数据量,和内存不够的条件,我没啥思路,乱答的前缀树做压缩;
这个有什么方法吗?
#shopee校招##Shopee##面试题目#
全部评论
如果只考虑去重、不考虑统计次数的话,可以用布隆过滤器。假设数据量 10^9,失误率 0.1,计算器敲除所需位数换算成内存大小是 571MB,感觉还是有点大。。。没有实操经验,不太懂
1 回复 分享
发布于 2021-07-15 19:49
布隆过滤器只能判断一个元素是否一定不存在,怎么统计个数?不懂你们这些说布隆过滤器的?
点赞 回复 分享
发布于 2021-07-18 01:11
位图最简单
点赞 回复 分享
发布于 2021-07-15 20:04
bitmap
点赞 回复 分享
发布于 2021-07-14 19:41
最小计数
点赞 回复 分享
发布于 2021-07-12 17:46
布隆过滤器了解一下
点赞 回复 分享
发布于 2021-07-12 17:27
hyperloglog
点赞 回复 分享
发布于 2021-07-12 14:51
位图
点赞 回复 分享
发布于 2021-07-12 14:16

相关推荐

不愿透露姓名的神秘牛友
昨天 17:23
点赞 评论 收藏
分享
陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
DKS233:(1)专业技能:Java8也太旧了,最少也要了解到JDK17吧,可以参考现在SpringBoot支持的Java最低版本,熟悉mysql基本理论具体指啥,是锁这种具体原理还是分库分表这些业务场景,spring这些专业词汇,大小写要写对(全篇简历都有这个问题,显得不严谨),熟悉使用框架进行业务开发就别写了,如果要写,起码要写到框架原理部分吧,比如aop,启动原理什么的,springcloud具体指哪些模块呢,写清楚,网关还是鉴权还是什么,“改造”没必要写吧,你直接说用springcloud开发的不就行了(2)项目经历:首先格式就有大问题,时间怎么能换行呢,调整一下,响应速度那个,如果指的是将部分数据从其他数据库转到redis的提升就别写了,因为这个不算难点,redis可以写写分布式这些,比如容灾怎么实现的,数据库同步怎么做的
点赞 评论 收藏
分享
评论
点赞
29
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务