We use cookies for site analytics. Accept to help us understand how the site is used. See our Privacy Policy for details.
Redis sorted sets, sharding strategies, real-time vs eventual updates, top-K queries, hot keys, deep pagination - the deceptively-simple problem that breaks at 100M users.
Design a leaderboard for a game (or any ranking system) with 100M users. Users earn points; the leaderboard shows the top-100 globally and each user's own rank + neighbors. Updates must be near-real-time during peak events. The system must handle a release-day spike of 1M users hitting the leaderboard simultaneously without melting the cache.
This is the deceptively-simple problem. A naive Redis-sorted-set implementation works for 1M users. At 100M, it breaks: hot keys, slow ZRANGE queries on deep pages, sharding the sorted set across nodes, real-time global updates - each is a senior-level conversation.
Strong candidates start with ZADD/ZRANGE, then walk through sharding strategies, the hot-key problem, and the trade-off between real-time and eventual consistency. Excellent candidates discuss the "user X's rank" query (which is harder than top-K) and explain why deep pagination requires specialized data structures.
Asking these before diving into a solution is the difference between a "hire" and a "no signal" rating. Pick the questions whose answers would change your design.
Capacity estimation · architecture with all 10 components explained · 6 deep dives · trade-off analysis · 8 common follow-up questions
Get full access to gitGood.dev with a subscription.
Try everything free for 10 days. Cancel anytime.
10-day trial, then $5/mo - or $40/yr ($3.33/mo, save 33%). Cancel anytime.
Reading is the floor. The interview signal is in walking through this live with someone probing follow-ups. Use the AI mock interview to practice talking through requirements, architecture, and trade-offs out loud.
Start an AI mock interview →