How the interviewer opens it
“Design search for a large media catalog across titles, creators, descriptions, and transcripts. Return relevant results quickly as catalog content and availability rules change.”
The prompt is vague on purpose. The first minutes are for you. Reduce the prompt to the core features and agree on the numbers before you draw.
What to clarify first
- Catalog size
- Traffic and read:write ratio
- Queries and result pages
- Latency and service availability
- Update freshness
- Availability rules
- Consistency versus availability
- Durability
- Relevance
- Scope boundaries
The interviewer has the answers. In a SysRound round, Alex gives these answers, as a real interviewer does.
Scope of a strong answer
Core requirements
- Search titles, creators, descriptions, and transcripts.
- Return relevant media items with short text excerpts.
- Reflect catalog edits within the freshness target.
- Exclude items that current availability rules block.
Usually out of scope
- Playback and media delivery
- Personal recommendations
- Semantic search and multiple languages
- Rights contract management
- Results beyond the first 100 matches
What interviewers ask about
- Relevance across text sources
- Titles express direct intent, while long transcripts contain many incidental matches. A single score can favor the wrong source.
- Availability of search results
- Search data can lag behind restrictions. Current checks also add work after text retrieval and can remove most leading matches.
- Search maintenance during catalog changes
- Delayed events can restore old content or lose recent edits. Index replacement and active pagination sessions complicate the freshness contract.
Common mistakes
- The design uses source catalog text scans at the stated query rate.
- The design gives every text field the same weight.
- The design trusts search data or cached responses to enforce current availability.
- The design writes the catalog and search engine separately without recovery.
- The design replaces an index without replaying edits and deletes.
- The design keeps pagination sessions indefinitely despite the freshness contract.
The bar by level
- Senior (L5/E5)
- Handles delayed events, deletes, and index replacement. Bounds candidate checks and excerpt work. Tests relevance changes. Accounts for freshness, cache lifetime, and session expiry.
- Staff (L6+/E6+)
- Defines precise freshness and authorization contracts. Sizes policy checks and shard fan-out. Explains failure behavior during index replacement and active sessions. Evaluates regional failure trade-offs.