Design a song recognition service like shazam
PremiumBackend systemHard
- Audio fingerprinting
- Spectrogram peaks
- Inverted index
Quick answer
This backend system interview question asks you to design a song recognition service like shazam. Aim for a design that meets its requirements at the stated scale, then explain its main components, data flow and trade-offs. Interviewers want to see how you scope the problem, size it and defend each choice.
The problem
Design a song recognition service like Shazam: a user holds up a phone for a few seconds, the app sends an audio sample, and the service names the song. The hard part is matching a short, noisy clip against 50 million tracks in under a second of server time.
The catalogue team supplies licensed master audio files. Your service turns them into fingerprints, stores them, and answers recognition requests from the app.
What must a song recognition service like shazam do?
- Recognise a song: The app records up to 10 seconds and gets back the track, artist and the position in the song, or a clear no match.
- Early answers: The app sends the sample in 3-second chunks, and the service may answer as soon as a chunk gives a confident match.
How well must it do it?
- Robust matching: Clips recorded in a noisy bar or through a car speaker still match, and wrong matches stay under 1 in 1,000 answers.
- Latency: Server matching takes under 300 ms at p99 per chunk; 90% of matchable songs are named within 5 seconds of recording start.
What scale should you design for?
Use these numbers in your estimates.
The scale numbers unlock with this questionUnlock
Key concepts
- Audio fingerprinting
- Spectrogram peaks
- Inverted index
- Time offset alignment
- Scatter gather
- Blob storage
How you’ll practise
- Requirements
- Estimate
- API and data
- High-level design
- Deep dives
- Wrap-up
Lala, personalized to you, gives a hint when you ask and reviews your design when you are ready.
What do interviewers look for?
In any backend system design round.
- Clarifies the requirements before drawing anything
- Uses a few numbers that actually change the design
- Draws a clear path from the client to storage
- Picks storage and caching with reasons, not by habit
- Explains what breaks first under load and how to fix it
- States trade-offs openly instead of claiming a perfect design
Questions people ask about this interview question
- Which design type is this question?
- It is a backend system question. You design a song recognition service like shazam and explain your choices the way you would in an interview.
- Is this question asked at entry level?
- It is marked Hard. It suits engineers preparing for senior interviews, where you are expected to drive the discussion and go deep on trade-offs.
- What should I cover first?
- Start with the requirements: what the system must do, how well it must do it and which numbers change the design. Agree on scope with the interviewer before you design anything.
- Can I practise it for free?
- It is a premium question. Sign up and unlock it once for 10 credits; it then stays unlocked. When you finish, Lala, your personalized AI mentor, can review your design for 30 credits.
Related questions
Updated · Written by the SevyDevy team