Problem Statement & Context
How Problem Statement & Context shapes architecture and interviewer follow-ups for Design Spotify.
Design Spotify — Problem Statement
Spotify is an on-demand music streaming platform: listeners search or browse catalogs, press play, and hear licensed audio with minimal startup delay, continuous playback across devices, personalized discovery feeds, and optional offline listening for premium tiers.
Why interviewers ask this
The question tests read-heavy CDN architecture, rights-aware playback, recommendation pipelines, event-driven analytics at billions of plays/day, and client-side caching — not a generic CRUD app.
Scale anchors (public ballparks)
- 600M+ monthly active users; 100M+ paid subscribers
- 100M+ tracks catalog metadata; daily play events in the billions
- Peak concurrent listeners in the low tens of millions globally
Core journeys
Listener: open app → home/reco feed → play track → skip/seek → add to playlist → continue on another device.
Rights ops: ingest masters → encode bitrates → geo-restrict catalog → report royalties.
Data/ML: consume play/skip events → refresh Discover Weekly → evaluate experiments.
Extended interview notes
- Problem Statement note 1: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 2: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 3: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 4: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 5: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 6: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 7: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 8: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 9: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 10: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 11: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 12: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 13: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 14: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 15: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 16: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 17: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 18: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 19: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 20: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 21: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 22: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 23: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 24: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 25: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 26: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 27: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
- Problem Statement note 28: Separate catalog metadata control plane from byte delivery data plane; never mix licensing policy with CDN cache keys without signatures. Tie decisions to measurable SLOs (TTFB, skip-rate fidelity, rights-cache hit ratio) and call out failure isolation.
Why interviewers care
Spotify interviews reward crisp scope, explicit trade-offs, and failure stories—not generic microservice diagrams.
Interview checkpoint
Name one failure story for Problem Statement & Context that proves you understand real outages, not happy-path diagrams.
Key Highlights
- •Problem Statement & Context: anchor the Spotify narrative
- •Rights before CDN bytes — fail closed
- •Kafka play/skip feeds reco and royalties
Section Rescue Kit
Buzzwords to use:
Safe statements:
- "Let me anchor on time-to-first-byte and licensing boundaries before picking storage."
- "The trade-off here is catalog freshness versus playback latency on cold tracks."