Meta System Design Interview: Personal Top 10 Songs
Based on a candidate's reported Meta interview
The interviewer opens
Hi, and thanks for joining. Welcome to your interview for the E5 role at Meta. We'll design a system together, and you can sketch on the whiteboard on the right of your screen as you talk. If you need to step out or take a break, the Pause button at the top right will pause the interview anytime.
The problem is up in the Problem tab, a personal top songs feature for a music streaming service. Please read it through, and ask anything you'd like clarified before you start drawing.
The problem
Design a feature for a music streaming service that shows every listener their 10 most-played songs over the last 4 weeks, kept up to date as they listen.
Must do
- Record every song play from any listener's device
- Show each listener their top 10 songs by play count over a trailing 4-week window
- Rankings reflect new listening without the listener doing anything
- Songs fall out of the ranking as old plays age out of the window
Must hold
- Listening must never be slowed or blocked by the ranking feature
- Opening the top-10 screen should feel instant