InterviewLegend

Design Comments & Notifications

Commonly asked
Alex Chen45 min readUpdated 17 real interview reports

Start with the trap, because most candidates walk into it. Figma is a real-time multiplayer editor, so the reflex is to sync comments the way the canvas syncs. Run them through the per-document server process, resolve conflicts with the property-level last-writer-wins register, and treat a comment like one more object in the scene tree. That instinct is wrong, and saying why is the strongest opening move in this round. Figma's multiplayer system only syncs document edits, the shapes and text and layers on the canvas. Comments, @mentions, file activity, and notifications are not document data at all. They are ordinary relational rows in Postgres, and they reach viewers through a separate live-read layer.

That split is the whole design. A canvas edit needs low-latency eventual convergence across many editors, which is what the last-writer-wins edit stream gives it, and it tolerates losing one value when two people write the same property at once. A comment needs none of that and wants the opposite: durable ordering, threaded replies that never merge into each other, permission checks on every read, and a notification that fires exactly once. So we put comments on a different regime. They are written to Postgres, and everyone viewing the file subscribes to a live read that tails the database's replication log rather than polling it, the shape Figma built and named LiveGraph. Once that framing is set, three real problems fill the back half of the hour. Keep a pin stuck to a design that is being moved underneath it. Push updates to thousands of viewers on a popular file without hammering the database. Fan an @mention out across channels without double-notifying.

The Figma angle
The sharpest thing you can say early is that a comment is not part of the document, so it does not belong on the multiplayer edit path at all. Figma's canvas syncs through a custom server-authoritative last-writer-wins register, one process per file, built for the design objects themselves. Comments, mentions, and notifications sit outside that entirely, as relational data surfaced by a live read-subscription that tails the Postgres replication log.
What's inside
  • 1 diagram
  • 5 sections
  • about 45 min

Premium lessonFigma interview guide

These took digging.

What candidates walked out with, from 20,000+ reports, forum threads behind logins and write-ups in Chinese. Then solved step by step.

100 companies. Checked every month.

Unlock all 100 companies

$49 a year · less than $1 a week · Cancel anytime

Had your Figma interview?Tell us what they asked. Reviewed before it goes in, never with your name.
Figma interview guide

Know what Figma asks before you walk in.

28 coding · 5 system design · 17 behavioral questions

Get Premium$49 a year · Cancel anytime
Or start freeNo card.

Get their questions first.

InterviewLegend is independent and not affiliated with or endorsed by any company it covers.