How the interviewer opens it
“Design a music service with a large song catalog and personal libraries. The service must deliver reliable playback with little delay for millions of listeners.”
The prompt is vague on purpose. The first minutes are for you. Reduce the prompt to the core features and agree on the numbers before you draw.
What to clarify first
- Catalog and libraries
- Peak traffic and read:write ratio
- Audio formats
- Playback targets
- API latency and consistency
- Availability and durability
- Content source
- Subscription and track removal
- Library behavior
- Scope limits
The interviewer has the answers. In a SysRound round, Alex gives these answers, as a real interviewer does.
Scope of a strong answer
Core requirements
- Find tracks by title or artist
- Add, remove, and list saved tracks
- Play, pause, and seek within a track
Usually out of scope
- Music recommendations
- Offline playback
- Ads and billing
- Full DRM
- A portal for artists
What interviewers ask about
- Playback start and seek
- Listeners need a fast start, smooth audio, and quick seeks despite changes in network speed.
- A new release at peak load
- A popular release can receive millions of requests at once. Most other tracks receive few requests.
- Library changes across devices
- Retries and concurrent changes must not create duplicate saved tracks. A later read must include completed writes despite replica lag.
- Track access and removal
- Listeners can retain old audio links after an access check. Track removal must stop new fetches within five minutes.
Common mistakes
- The design treats metadata requests and audio delivery as the same load.
- Application servers carry all audio bytes.
- The player downloads a whole track before playback starts.
- The library permits duplicate saved tracks after retries.
- The service checks access only on a cache miss.
- The design promises to erase audio that clients already fetched.
The bar by level
- Senior (L5/E5)
- Calculates audio bandwidth and segment request rates. Explains buffer behavior, bitrate choice, and origin protection. Preserves library consistency across retries and failover. Meets the five-minute removal limit.
- Staff (L6+/E6+)
- Defines measurable startup and recovery budgets across the player, APIs, and audio path. Handles popular releases and origin failures without excess retries. Quantifies cost and capacity trade-offs. Bounds access expiry and removal lag under failures.