校招 百度【视觉设计】一面 面经

【设计题】今日头条会根据用户的浏览行为、内容偏好等信息,为每个用户抽象出一个标签化的用户画像,用于内容推荐。用户画像的存储、高并发访问,是推荐系统的重要环节之一。
现在请你给出一个用户画像存储、访问方案,设计的时候请考虑一下几个方面:
用户画像如何存储如何保证在线高并发、低延迟地访问机器宕机、负载均衡问题

如果用户增长很快,在你的方案下,该如何做扩容?
将存储用户画像的数据经过哈希函数运算后得到一个key值,然后用key%服务器机器数,得到的就是该用户画像数据归属的服务器,对该数据增添,查询删除都在此机器上进行. 如果服务器变多变少时,用一致性哈希则可以解决这种问题。

负载不均衡的问题:可以引入虚拟节点技术解决,即同一机器经过不同的哈希函数计算出多个哈希值分布在环上,节点数变多了。平衡性自然会好。
1. 建立用户关系映射表,用户和标签为常量,关系为映射。保存用户画像最好使用缓存,比如ememcached,同时后端要落地到DB;

2. 有了内存缓存的话,访问速度自然会有提升,除此之外,还要提高缓存利用率,这样请求不会到DB去请求。

3. 同时还要减少单机查询流量,将不同用户分配到不同的机器上,可以采用分布式,比如按照用户的地区,ID的号段进行分开,这样每个机器的请求都是独立的,可以命中缓存,提高系统的性能。

4. 一致性哈希,保证结点变化后用户访问的机器不变,比如之前在一号机器访问的用户还是到一号机器。
全部评论
不是视觉么?我怎么一句都看不懂
5 回复 分享
发布于 2022-08-04 17:37
友友你的也是视觉岗,怎么这么产品啊😅我也投了,收到了面试看到你这个,我好慌张
点赞 回复 分享
发布于 2022-07-30 07:21
能说下你面试的岗位不?
点赞 回复 分享
发布于 2022-07-18 10:30

相关推荐

不愿透露姓名的神秘牛友
06-12 18:53
第一次听说还有无水工作!!!又是被刷新三观的一天
Lynn012:666第一次听到,你给他说这里不方便我们加个微信
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
大佬们,在大厂实习的都是几百一天???
哈尔滨的移动城堡_:那几个有名的大厂都是300-400,小厂有更高的
点赞 评论 收藏
分享
评论
1
4
分享

创作者周榜

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