Design a Search Ranking System
Last updated: June 17, 2026
Quick Overview
Design the ranking component of a search engine. Cover feature engineering from query-document pairs, learning-to-rank models, relevance scoring, freshness signals, and A/B testing the ranking pipeline.
Google
System Design
Software Engineer
Software Engineer
Onsite
System Design
Hard
365
0
135 solved
Design the ranking component of a search engine. Cover feature engineering from query-document pairs, learning-to-rank models, relevance scoring, freshness signals, and A/B testing the ranking pipeline.
How to Approach This
- Start by clarifying functional and non-functional requirements with the interviewer.
- Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
- Draw a high-level architecture first, then deep dive into 1-2 critical components.
- Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
- Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Sharpen Your Skills on Codemia
Practice similar problems with our interactive workspace, get AI feedback, and track your progress.
Practice System Design ProblemsSample Answer
Requirements
Functional Requirements
- Query Parsing: The system should be able to parse user queries to understand intent.
- Document Indexing: Efficiently index documents to allow for quick retriev...
Capacity Estimation
Given Google processes over 3.5 billion searches per day:
- Queries per second (QPS): 3.5 billion / 86400 seconds = ~40,000 QPS.
- Document Count: Assume 100 billion indexed documents.
- **Dat...
Submit Your Answer
Markdown supported