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