Practice/Meta/Design Meta Privacy
Design Meta Privacy
Product DesignMust
Problem Statement
Design a real-time sports scoreboard platform that delivers live game updates, scores, and statistics to millions of concurrent users across web and mobile applications. The system must handle multiple sports (basketball, football, soccer, baseball, etc.) happening simultaneously, with each game generating frequent score updates, player statistics, and game events. Users should receive near-instantaneous updates when scores change, and the system must scale to support major sporting events like championship games that attract tens of millions of viewers. Consider how to efficiently broadcast updates, manage different data models for various sports, and handle the spike in traffic during popular games while maintaining low latency for all users.
Key Requirements
Functional
- Multi-sport support -- handle different scoring rules, game structures, and statistics for basketball, football, soccer, baseball, and other sports
- Real-time score updates -- push score changes, game events, and statistics to connected clients within 1-2 seconds
- Historical data access -- provide past game scores, season statistics, team records, and player performance history
- Subscription management -- allow users to follow specific teams, leagues, or games and receive targeted updates
- Administrative interface -- enable authorized operators to input scores and game events from venues
Non-Functional
- Scalability -- support 50 million concurrent users during peak events, with 10,000+ simultaneous games
- Reliability -- maintain 99.99% uptime with automatic failover, no score data loss
- Latency -- deliver score updates to users within 2 seconds of ingestion, with p99 API response times under 100ms
- Consistency -- ensure all users see the same final score, tolerate temporary inconsistencies during rapid updates
What Interviewers Focus On
Based on real interview experiences, these are the areas interviewers probe most deeply:
1. Real-Time Data Distribution Architecture
How you propagate score updates to millions of users efficiently without overwhelming your infrastructure. This reveals your understanding of pub/sub patterns, push vs pull mechanisms, and connection management at scale.
Hints to consider:
- WebSocket connections for persistent bidirectional communication vs server-sent events (SSE) for one-way updates
- Fan-out strategies: should you broadcast to all users or use topic-based subscriptions per game?
- Connection management: how many WebSocket connections can a single server handle, and how do you load balance?
- Fallback mechanisms when real-time connections fail (polling, exponential backoff)
2. Data Model Flexibility Across Sports
The challenge of representing diverse sports with different scoring systems, game structures, and statistics in a unified yet extensible schema. Interviewers want to see if you can balance normalization with query performance.
Hints to consider:
- Schema-on-read approaches using JSON/document stores vs rigid relational schemas
- Common abstractions: games, periods/quarters, teams, scores, events that work across sports
- Sport-specific extensions without creating separate systems for each sport
- Trade-offs between a single unified table vs sport-specific tables with shared interfaces
3. Write Path and Data Ingestion
How score data enters your system from multiple venues simultaneously, ensuring reliability and preventing duplicate or out-of-order updates. This tests your understanding of event sourcing and idempotency.
Hints to consider:
- Event sourcing pattern: storing each score change as an immutable event vs updating current state
- Idempotency keys to handle duplicate submissions from flaky network connections
- Timestamp-based ordering and conflict resolution when events arrive out of sequence
- Validation layer to prevent invalid scores (e.g., negative points, impossible progressions)
4. Caching Strategy and Read Optimization
The read-to-write ratio is extremely high (millions reading, hundreds writing), making caching critical. Interviewers probe your ability to serve stale data when acceptable and invalidate caches efficiently.
Hints to consider:
- Multi-layer caching: CDN for static content, Redis for live scores, application-level caches
- Cache invalidation strategies: time-based TTL vs event-driven invalidation
- Handling cache stampede during major score changes when millions request simultaneously
- What data should never be cached vs what can tolerate 5-10 second staleness?
5. Handling Traffic Spikes and Hot Partitions
Championship games create massive imbalances where 80% of users watch the same game. This tests your ability to identify and solve hot partition problems.
Hints to consider:
- Sharding strategies: by game ID, by league, by time, and implications for hot games
- Read replicas and how to route traffic to scale reads for popular games
- Rate limiting and request prioritization during overload (premium users vs free users)
- Pre-warming caches and scaling up infrastructure before predictable events