美团面试一道场景设计题

设计该系统的功能:10亿位用户每次加载页面,显示3张不同图片(每次加载都是相同的3张),3张图片来自于10张图片的图库?

1、用户个数10亿,保证10亿用户在10张图片中加载的图片几率是相同的。

2、第一次随机显示3张图片,以后都是这3张。

3、不可以使用本地缓存或redis缓存。

一种思路:
1、每次加载页面时,对每位用户的用户id做hash运算得出一个int值(遇到hash碰撞,可以做三次hash)
2、对该int值对10取余,使其落到[0,9]之间。
3、指定一个规则(人为指定一个规则)取余获得的int值,设为id=val就代表一张图片编号,然后往后顺延2次,id=(val+1)%10,id=(val+2)%10,然后就显示这三张图片。
ps:菜逼没答好。。。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值