简单
技术面试0 次浏览网易云音乐有大量的用户听歌记录,现在需要找出某个用户最近一周内播放次数最多的 10 首歌曲,你会如何实现?
网易算法工程师
算法数据处理音乐业务
答题要点
推荐答题框架:采用分层分析法,先明确整体思路,再逐步细化每个步骤。关键要点如下:1. 数据筛选:从用户的听歌记录中筛选出最近一周的数据。可以通过记录中的时间戳与当前时间进行比较来实现。2. 统计播放次数:使用哈希表来统计每首歌曲的播放次数,键为歌曲 ID,值为播放次数。3. 排序:对统计结果进行排序,按照播放次数从高到低排列。4. 取前 10 首:从排序后的结果中取出前 10 首歌曲。示例话术:首先,我会筛选出最近一周的听歌记录,然后用哈希表统计每首歌曲的播放次数,接着对统计结果进行排序,最后取出播放次数最多的前 10 首歌曲。