← Back to Directory

Figma interview notes, page 3 of 3

Mid-sized

Most of these Figma write-ups come from Software Engineers (17), then Machine Learning Engineers (6) and Data Scientists (3). The most reported rounds are the system design round (11), the technical phone screen (10), the hiring manager screen (2) and the behavioral / leadership round (2).

27 interview notes · updated Oct 2026

Figma·Machine Learning Engineer·Onsite - System Design / Architecture

Jun 2026
Figma ML engineer round that ended up being more systems-thinking than I expected. The whole session revolved around one design problem, but it went deep fast.
  • You have a document model (think layers in a design tool) that supports add, delete, move, and property-change operations. Build an undo system that correctly reverts the most recent operation. Walk through how you'd record operations and compare that approach against just snapshotting the whole document.

“I started with snapshots because it felt safe, and the interviewer just kind of waited.”

View Post

Figma·Software Engineer·Onsite - System Design / Architecture

Jun 2026
Figma system design round focused entirely on building a document editing layer with undo/redo and batching. Pretty deep dive, more like a whiteboard session than a typical design interview.
  • Design a document layer with apply(op), undo(), and redo() operations. How do you structure the underlying data to support this?
  • Add batching support with beginBatch(), apply(op), and commitBatch(). The entire batch should undo as a single step. How do you implement this?
  • How would you optimize batch undo for both time and space? Consider compressing consecutive operations and storing inverse operations efficiently.
  • What happens to the redo stack after an undo, and what happens to it after new edits are applied following an undo?
  • How do you handle partial failures within a batch? If one operation in a batch fails mid-way, what should happen?
  • What are the edge cases for this system? Think about empty stacks, nested batches, and overlapping batch calls.

“I went straight to two stacks, undo and redo, which is the obvious answer.”

View Post

Figma·Data Scientist·Hiring Manager Screen

Jul 2026
Hiring manager screen for a Data Scientist role at Figma. One question, but it was the kind that takes longer to answer well than you'd expect.
  • What kinds of work have been most engaging for you, and what kinds have been least engaging?

“I thought I had a clean answer ready but halfway through I realized I was just listing preferences with no real grounding.”

View Post

Figma·Machine Learning Engineer·Technical Phone Screen

Jul 2026
Figma ML engineer screen, one coding problem the whole time. Pretty standard graph traversal territory but they wanted you to actually talk through the tradeoffs between approaches rather than just code it up.
  • Given a 2D grid where cells are either land or water, count the number of distinct islands, where an island is any group of land cells connected horizontally or vertically.

“I went with DFS immediately which was fine, but they pushed me on why not BFS or union-find.”

View Post

Figma·Software Engineer·Technical Phone Screen

Jul 2026
Figma Data Engineer interview with a coding screen that was more straightforward than I expected but still had some gotchas worth knowing about.
  • Write a function to validate whether a given string is a valid IPv4 address.

“Looked simple enough.”

View Post

Figma·Software Engineer·Technical Phone Screen

Jul 2026
Figma data engineering interview with two SQL-heavy questions built around their actual product data model. The problems were trickier than they looked on the surface, especially the second one where tie-breaking rules added a lot of complexity.
  • Given a files table and a file_views table, write a SQL query that returns the first time each creator ever had one of their files viewed by someone else. The creator_id is a VARCHAR and the viewer's user_id is an INTEGER, so you need to handle the type mismatch.
  • For each creator, find their closest collaborator, defined as the user who was the first non-creator viewer of the creator's files the most times. Handle ties by earliest first-share timestamp, then smallest user_id.

“The type casting thing is what got me initially.”

View Post

Figma·Software Engineer·Onsite - Multi Round

Sep 2026
Three-round process for a data science intern role at Figma. Each round had a distinct format and the whole thing felt more like a series of conversations than a traditional interview, which I wasn't fully prepared for. Didn't get the offer.
  • Walk through a multi-part analytical case where each section builds on your previous answer.
  • Explain core statistics and experimentation concepts, then apply them to design and interpret a hypothetical experiment.
  • Describe a situation where something went wrong on a project, what you did about it, and what you took away from it.

“The case unlocked in stages, which sounds manageable until you realize your early answers box you in for everything that follows.”

View Post