Skip to content

ONE QUESTION. YOUR REASONING.

Design online chess

Design an online chess service: players get matched by skill, play three-minute games in real time, and see a global leaderboard.

System designCollaborationMid-levelSenior

YOUR BRIEF

What to work through

Work through online chess as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.

  • Find an opponent of similar skill and start a game
  • Play moves in real time, with the server checking every move and running both clocks
  • Ratings go up on a win and down on a loss
  • View the global leaderboard and your own rank, updated shortly after each game

BEFORE YOU START

Constraints to discuss

  • 10 million registered players
  • 500,000 concurrent games at peak, so 1 million open connections
  • Clocks stay fair when the two players have different network delays
  • A player is never in two games at once
Need a starting point?

Watch for these common gaps as you prepare:

  • Trusting the client for moves, clocks or timestamps
  • Checking that a player is free and pairing them in two separate steps
  • Keeping games only in memory with no move log
  • Computing a player’s rank with a count over 10 million rows on every request
Read: System design questions and who asks them

Why this question is in the collection

These sources connect the problem to company interview reports or preparation guides. They do not guarantee what a company will ask you.

KEEP GOING

Your next question

Storage, files and linksDesign BitlyInfrastructure and platformDesign a rate limiterInfrastructure and platformDesign an A/B testing platformInfrastructure and platformDesign an ad click aggregator
Browse the collection
01

Pick a question

Read the brief and choose what you want to work on.

02

Talk it through

Explain your thinking. Respond to follow-ups. Draw when a design needs it.

03

Find your next improvement

Use the feedback from your interview to decide what to practise next.