← Google Interview Insights

Google·Software Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
Apr 2026

Summary

Google system design round, got asked to build a podcast search engine from scratch. Pretty open-ended and I wasn't totally sure how deep to go on the indexing side versus the product side.

Questions Asked (1)

Q1

Design a podcast search engine. Walk through the architecture, data model, and how you'd handle search relevance.

System DesignProduct Sense & IdeationTechnical Trade-offs
Author's notes

I jumped straight into crawling and ingestion and kind of forgot to clarify what 'search' even meant here.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale (e.g., number of podcasts, queries per second, latency goals), then propose a high-level architecture that separates ingestion, indexing, and query serving. Dive into the data model for podcasts, episodes, and transcripts, and explain how you'd combine lexical and semantic search with learning-to-rank for relevance.

Pro tip: Emphasize the importance of transcript-based search and how you'd handle audio-to-text at scale, since that's a key differentiator for podcast search and shows you understand the product deeply.

1. Clarify Requirements and Scope

Ask about scale (number of podcasts, episodes, queries per second), latency requirements, and key features like full-text search, semantic search, and filtering. Confirm whether search is over metadata only or also transcripts.

2. High-Level Architecture

Outline components: ingestion pipeline (fetching RSS feeds, audio processing, transcription), indexing pipeline (building inverted index and vector index), and query serving layer (retrieval, ranking, and serving results). Mention use of distributed systems like Kafka, Spark, and a search engine like Elasticsearch or a custom system.

3. Data Model

Define entities: Podcast, Episode, Transcript, and User. Describe fields and relationships, and how you'd store them (e.g., document store for metadata, inverted index for text, vector DB for embeddings). Discuss denormalization for query performance.

4. Search Relevance

Explain a multi-stage ranking approach: candidate retrieval using both lexical (BM25) and semantic (embedding-based) search, then re-ranking with a learning-to-rank model using features like text match, popularity, recency, and user behavior. Mention evaluation metrics like NDCG and online A/B testing.

5. Trade-offs and Scalability

Discuss trade-offs: latency vs. relevance, cost of transcription, index freshness vs. throughput. Explain how you'd scale horizontally, handle failures, and optimize for Google-scale infrastructure.

Key Points to Mention

  • Transcript-based search: converting audio to text and indexing it for full-text search.
  • Hybrid retrieval: combining lexical (BM25) and semantic (dense vector) search for better recall.
  • Learning-to-rank (LTR) model for final ranking, using features like click-through rate, listen duration, and freshness.
  • Data partitioning and sharding strategies for scalability across billions of episodes.
  • Caching and pre-computation for low-latency responses (e.g., caching popular queries, pre-computing embeddings).
  • Evaluation framework: offline metrics (NDCG, MRR) and online A/B testing with user engagement metrics.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.