Practice/Meta/Design an Online Game Leaderboard
System DesignMust
Design a platform that aggregates and displays live sports betting odds from multiple bookmakers, updating in real time as games progress and markets shift. The system must handle tens of thousands of concurrent sporting events across different leagues and sports, with odds changing every few seconds based on in-game events, betting volumes, and external news. Users expect to see the best available odds across all bookmakers instantly, along with historical trends and alerts when odds hit their target thresholds.
This system combines high-velocity data ingestion from dozens of external sources, real-time aggregation and comparison logic, and low-latency delivery to millions of users checking odds before placing bets. The platform must remain highly available during peak betting periods like major finals or championship games, where a single event can drive millions of concurrent users and thousands of odds updates per second.
Based on real interview experiences, these are the areas interviewers probe most deeply:
The system must handle constant odds updates from dozens of external sources with varying protocols, reliability, and update frequencies. Interviewers want to see how you'll normalize heterogeneous feeds, handle backpressure when sources spike, and detect when a feed goes stale or offline.
Hints to consider:
With hundreds of bookmakers offering odds on the same outcome, you need fast lookups to find the best price without scanning all sources on every query. Interviewers expect you to explain indexing strategies that support both point queries and range scans for nearby odds.
Hints to consider:
Traffic spikes 100x during major sporting events like World Cup finals or Super Bowl, with millions of users refreshing odds simultaneously. Interviewers want to see how you'll prevent hotspots, handle thundering herds, and maintain read latency under extreme load.
Hints to consider:
Users set thresholds like "notify me when odds for Team A exceed 2.5x" and expect instant notifications when conditions are met. The challenge is evaluating millions of alert rules against every odds update without blocking the ingestion pipeline or creating notification storms.
Hints to consider:
Start by confirming scale and scope with the interviewer. Ask how many bookmakers the platform integrates (50? 200?), how many concurrent events are typical (thousands? tens of thousands?), and what sports or markets are prioritized. Clarify whether the system needs to support live in-play betting where odds change every few seconds, or just pre-match markets with slower update rates. Confirm latency expectations for displaying updated odds and whether eventual consistency of a few seconds is acceptable. Ask if historical odds data must be queryable for analytics or just displayed as charts. Establish if the platform is read-heavy or if there's significant write load from user actions like setting alerts.