Design a Song-Recognition Service and High-Volume Ingestion

Read the full interview experience this question came from →

Quick Overview

Design song recognition with audio fingerprints, scalable query lookup, confidence checks, and a versioned new-track ingestion pipeline under heavy demand.

Design a Song-Recognition Service and High-Volume Ingestion

Company: Wayfair

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

Design a service that identifies a song from a recording, similar in purpose to Shazam. ### Part 1 — Recognize a recording Explain the core recognition approach, stored catalog representation, request path, and how the service decides whether a match is convincing enough to return. #### What This Part Should Cover - A representation that can match a short recording to part of a catalog track despite ordinary recording noise. - Candidate retrieval followed by verification, with an explicit no-match outcome. ### Part 2 — Handle weekend demand The weekend query volume can reach 100,000 user queries. Clarify the measurement interval and peak rate before sizing the system, then explain how the recognition path would scale. #### What This Part Should Cover - The difference between total query volume, requests per second, and concurrent requests. - Partitioning, replicas, capacity measurements, and overload behavior for fingerprint lookup and candidate verification. ### Part 3 — Add new songs Design the pipeline that adds new tracks to the searchable catalog. Then consider the stated stress case in which this ingestion service receives 100,000 requests per second. #### What This Part Should Cover - Validation, audio processing, indexing, and a clear point when a track becomes searchable. - Idempotent ingestion, queueing, backpressure, and separation from interactive recognition capacity. - Work estimates based on audio bytes, track duration, and fingerprint count rather than request count alone. ### What a Strong Answer Covers - Compatible fingerprint versions across query processing and catalog indexing. - Quality and load evaluation without invented latency or accuracy targets. - A coherent publication and recovery plan when an ingestion stage or index shard fails. ### Follow-up Questions - What happens if only some index shards have received a newly ingested track? - How would you distinguish an unfamiliar song from a noisy recording of a known song?

Overview: Design song recognition with audio fingerprints, scalable query lookup, confidence checks, and a versioned new-track ingestion pipeline under heavy demand.

Read the full Wayfair Software Engineer interview experience this question came from

|Home/System Design/Wayfair
Wayfair logo
Wayfair
Aug 11, 2025
mediumSoftware EngineerOnsiteSystem Design
1
0

Design a service that identifies a song from a recording, similar in purpose to Shazam.

Part 1 — Recognize a recording

Explain the core recognition approach, stored catalog representation, request path, and how the service decides whether a match is convincing enough to return.

What This Part Should Cover Guidance

  • A representation that can match a short recording to part of a catalog track despite ordinary recording noise.
  • Candidate retrieval followed by verification, with an explicit no-match outcome.

Part 2 — Handle weekend demand

The weekend query volume can reach 100,000 user queries. Clarify the measurement interval and peak rate before sizing the system, then explain how the recognition path would scale.

What This Part Should Cover Guidance

  • The difference between total query volume, requests per second, and concurrent requests.
  • Partitioning, replicas, capacity measurements, and overload behavior for fingerprint lookup and candidate verification.

Part 3 — Add new songs

Design the pipeline that adds new tracks to the searchable catalog. Then consider the stated stress case in which this ingestion service receives 100,000 requests per second.

What This Part Should Cover Guidance

  • Validation, audio processing, indexing, and a clear point when a track becomes searchable.
  • Idempotent ingestion, queueing, backpressure, and separation from interactive recognition capacity.
  • Work estimates based on audio bytes, track duration, and fingerprint count rather than request count alone.

What a Strong Answer Covers Guidance

  • Compatible fingerprint versions across query processing and catalog indexing.
  • Quality and load evaluation without invented latency or accuracy targets.
  • A coherent publication and recovery plan when an ingestion stage or index shard fails.

Follow-up Questions Guidance

  • What happens if only some index shards have received a newly ingested track?
  • How would you distinguish an unfamiliar song from a noisy recording of a known song?

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...