中等
技术面试0 次浏览网易音乐业务中,有歌曲播放记录表,包含字段:user_id(用户ID)、song_id(歌曲ID)、play_time(播放时间)。设计一个系统,能够实时统计每个用户最近 1 小时内的歌曲播放次数。请描述系统的架构和实现思路。
网易数据分析师
系统设计数据统计
答题要点
使用分层分析法,从整体架构到具体实现逐步分析。关键要点:1. 数据采集:实时收集歌曲播放记录。2. 数据存储:使用合适的数据库存储数据,如 Redis 用于快速存储和查询。3. 时间窗口管理:维护 1 小时的时间窗口,及时清理过期数据。4. 统计分析:根据时间窗口内的数据统计每个用户的播放次数。示例思路:先通过消息队列收集播放记录,将其存储在 Redis 中,设置过期时间为 1 小时,定时清理过期数据,最后统计用户的播放次数。