Post | LinkedIn
You are in a system design interview at Google for the L5 Senior Engineer role, and the interviewer leans in and asks: “Why does Spotify keep playing when I drive into a tunnel with no signal, but YouTube Music often stops or buffers? If you were designing a music streaming system, what different design choices would lead to these two behaviors?” Here is how you break it down. Btw, if you’re preparing for system design/coding interviews, check out our mock interview tool. You can use it for free here: https://lnkd.in/gpCn7t2T We’ve added new features as well: -Company-specific interviews -In-built interview scheduler -performance insights & trends — Both apps look like simple music players. Under the hood, they are optimized for very different priorities. [1] Spotify style – Cache first, stream second Idea: The client behaves like a smart offline player that happens to stream. The backend is built to support aggressive prefetching. What happens when you hit play - Client requests the track from a CDN or edge node. - Instead of tiny chunks, it downloads a big buffer ahead of the playhead. - In parallel, it starts pre downloading the next few tracks in the queue. - Data is written to an encrypted cache on disk, not just memory. - Playback reads from that local cache, not directly from the network socket. What this means for tunnels and bad networks - When the network drops, the player already has tens of seconds or entire tracks cached. - Because the next one or two songs are already downloaded, you can be offline for a while and never notice. - Cold start cost is a bit higher. First play might take slightly longer, but then everything feels smooth. - It burns more local storage and possibly more data, because not every prefetched song will be listened to fully. In a design answer, you can mention - Local disk cache with eviction policies (LRU per user, per device). - Background prefetch of N upcoming tracks based on queue. - Download manager that adapt
Spotify vs YouTube Music: Designing Music Streaming Systems for Offline Playback This title was summarized by AI from the post below. 7mo You are in a system design interview at Google for the L5 Senior Engineer role, and the interviewer leans in and asks: “Why does Spotify keep playing when I drive into a tunnel with no signal, but YouTube Music often stops or buffers? If you were designing a music streaming system, what different design choices would lead to these two behaviors?” Here is how you break it down. Btw, if you’re preparing for system design/coding interviews, check out our…
saved by
related reading
- GitHub - donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.github.com
- Everything I know about good system designseangoedecke.com
- ByteByteGo | Technical Interview Prepbytebytego.com
- Core Concepts for System Design Interviews | Hello Interview System Design in a Hurryhellointerview.com
- streaming vs listeninggleech.org
- How's Linear so fast? A technical breakdownperformance.dev
- Checking your browser...annas-archive.li
- GitHub - karanpratapsingh/system-design: Learn how to design systems at scale and prepare for system design interviewsgithub.com
- Content delivery network - Wikipediaen.wikipedia.org
- Spotify Turns 15: How the Streaming Giant Has Changed Musicvariety.com
- Everything I know about good system designseangoedecke.com
- On Quitting Spotifysubstack.com