Design a Real-Time Collaborative Grid
"Design an app in the style of reddit r/place" is a recurring Datadog onsite system design round, asked verbatim more than once. The shape is fixed. There is a shared pixel grid. Start with 1000x1000, so a million pixels. Any user can set one pixel to a color chosen from a small palette of fifteen. After placing, they must wait a per-user cooldown of five minutes before placing again. Everyone watching the canvas sees changes in near-real-time, and a brand-new viewer who just opened the page has to be handed the current state of all million pixels. The headline constraint is the audience. We serve and stream to millions of concurrent viewers at once.
Pin the vocabulary down before sketching boxes, because the design rotates on three nouns. A pixel is the cell at a grid coordinate, holding a color and, if we want attribution, who set it last and when. The grid is the full 1000x1000 array of those cells, the thing a new viewer downloads. A place event is the single action a user takes: set pixel (x, y) to color c, subject to the cooldown. Lock those three first. Pixel. Grid. Place event. Every later choice serves one of them.
DatadogPremium lesson · System design round
The Datadog design, worked end to end.
- The API and data modelSystem design · Frequently asked
- The design, drawn out1 diagram
- 4 deep divesWith the tradeoffs
$49 a year · all 100 companies · cancel anytime
From 20,000+ candidate reports, forum threads behind logins and write-ups in Chinese.
Datadog interview guideKnow what Datadog asks before you walk in.
11 coding · 4 system design · 30 behavioral questions
Get their questions first.
InterviewLegend is independent and not affiliated with or endorsed by any company it covers.