YOUR BRIEF
What to work through
Work through presence and live cursors as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.
- Show whether a user is online or offline, and when they were last seen
- Show who is viewing a document right now
- Show each viewer’s cursor moving live
- Someone opening a document sees everyone present at once, then each change
BEFORE YOU START
Constraints to discuss
- Presence changes reach viewers in under 200 ms at p99
- A drop of a few seconds does not flip someone offline and back
- Cursor positions are never stored: losing one costs nothing
- Millions of users online at once, with thousands of status changes a second
- Rooms of tens of thousands of users do not flood every client
Need a starting point?
Watch for these common gaps as you prepare:
- Marking a user offline the moment the connection drops
- Writing cursor positions to a database
- Sending every status change to every user
- One message per mouse move, with no throttle or batching
- Presence entries that never expire, so crashed clients stay online forever
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.
- Microsoft: Third on Hello Interview’s list of the system design questions most asked at Microsoft senior level, as "Design a Presence Service API".
- Figma: Design Gurus’ Figma guide lists presence and cursors, who is in a file and where they point, among the questions Figma candidates commonly report.