Design a global multi-game leaderboard
Company: Disney
Role: Software Engineer
Category: System Design
Difficulty: hard
Interview Round: Onsite
Design a global, multi-game leaderboard (ladder) service where each game maintains its own rankings and player standings update immediately after a match ends. Define APIs for submitting match results and fetching leaderboards, the data model for players/games/scores, and the ranking algorithm choice (e.g., Elo/TrueSkill) with rationale. Detail the write path from result ingestion to rank computation and propagation, read path for low-latency queries, caching strategy, sharding/partitioning by game and region, consistency versus latency trade-offs for worldwide users, idempotency for duplicate result submissions, anti-cheat/fraud detection, backfill/recalculation flows, and fault tolerance/DR considerations.
Quick Answer: This question evaluates a candidate's ability to design a scalable, real-time distributed leaderboard service, testing skills in API design, data modeling, ranking algorithms, ingestion and read-path architecture, caching, sharding, consistency-versus-latency trade-offs, idempotency, anti-cheat measures, and disaster recovery.