题解 | 网易云音乐推荐(网易校招笔试真题)
网易云音乐推荐(网易校招笔试真题)
https://www.nowcoder.com/practice/048ed413ac0e4cf4a774b906fc87e0e7
select m.music_name from music m inner join (select distinct music_id from music_likes where user_id in ( select follower_id from follow where user_id=1 ) and music_id not in(select music_id from music_likes where user_id=1)) a on a.music_id=m.id order by m.id #为了确保没有重复的推荐,保持在子查询中使用DISTINCT是一个更好的实践。
思路:
找到特定的人
再找到他关注的人
再找他朋友喜欢啥 +并且保证 not in(自己喜欢的东西)
再把id与名字关联起来输出应该推荐的音乐