System design interview question
Design a Real-Time Personalized Ranking System for Search Results like Google's Learning-to-Rank at Massive Scale
Design a distributed machine learning ranking system that re-ranks search results in real-time based on user context, behavior, and item features. The system must serve 10 billion daily search queries across 50 geographies with sub-100ms latency (p99), handle 1M concurrent users, and support continuous online learning from user signals (clicks, dwell time, conversions). The ranking model must balance exploration vs. exploitation, adapt to trending queries within minutes, serve heterogeneous model variants via A/B testing (5-10% traffic per experiment), and cost-optimize inference across CPU/GPU/TPU clusters. Address cold-start for new users/items, model staleness in distributed serving, feature freshness pipelines, and maintaining model consistency across regions while minimizing model download bandwidth and inference cost per query.
Practice this question step by step with an AI interviewer that reviews your requirements, your architecture and your trade-offs, and scores the design.