Figma Software Engineer interview questions

17 Software Engineers have shared notes from their Figma interviews, with the questions they were asked in each round. That is 63% of the 27 Figma interview notes on Screna AI.

17 Software Engineer interview notes

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

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·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·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·Software Engineer·Onsite - System Design / Architecture

Jun 2026
Figma system design round, one big open-ended question about building a trending articles feed at scale. The scope was massive and I felt like I was chasing my own tail for most of it.
  • Design a system that surfaces trending articles in near real time for a large-scale product. Walk through your requirements, architecture, and key trade-offs.

“This question has a lot of surface area and I underestimated how much of it I'd need to cover.”

View Post

Figma·Software Engineer·Technical Phone Screen

Jun 2026
Figma data science interview that centered around a project presentation with a business application follow-up. Pretty straightforward format but the second question is where it gets real.
  • Walk us through a past project you've worked on using slides.
  • How could the project you just presented be applied to Figma, and what business impact do you think it could have?

“Picked a project I knew cold, which helped.”

View Post

Figma·Software Engineer·Onsite - System Design / Architecture

Jun 2026
Figma SWE system design round, focused on building an async job scheduler. The interviewer was pretty relaxed and the conversation stayed mostly on fault tolerance and correctness guarantees. Not a brutal round by any means, felt manageable if you'd seen similar problems before.
  • Design an async job scheduler that supports two modes: jobs that run immediately, and jobs that run after a specified delay (e.g. after 1 hour).
  • How do you guarantee exactly-once execution for jobs in a distributed scheduler?
  • What happens when a worker node fails partway through executing a job?

“The core design wasn't too bad.”

View Post

Figma·Software Engineer·Technical Phone Screen

Jun 2026
Figma coding screen, one question the whole time. It was a custom data structure problem that looked straightforward but had a specific memory constraint that I almost missed entirely.
  • You're given a Document Layer object with apply(key, value) and get(key) methods. Add batch() to mark the start of a tracked batch, and undo() to revert all changes made since the last batch() call. The catch: you can only store each key's original pre-batch value once, no matter how many times it gets updated within the batch.

“The memory constraint is where I almost tripped up.”

View Post

Figma·Software Engineer·Technical Phone Screen

Jun 2026
Figma coding interview with a two-part problem centered on resizing rectangles. The second part added a spatial constraint that made the first part feel like a warmup in hindsight.
  • You have a list of rectangles each with a height (minimum height is 1). Given a resize value, distribute it evenly across all rectangles. If positive, each gets resize/count added. If negative, reduce as evenly as possible without letting any rectangle drop below height 1. For example: resize=-12 with heights [3,5,10,9] should produce [1,1,7,6].
  • Extend the previous problem: each rectangle now also has a y-coordinate. After resizing, the relative positions between rectangles must be preserved. Note that relative position here is not just the difference in y-values but needs to account for the heights of the rectangles themselves.

“The positive case felt trivial and I almost rushed past it, which was a mistake because the negative case is where the real logic lives.”

View Post

Figma·Software Engineer·Onsite - System Design / Architecture

Jun 2026
Figma infra team interview, basically one long system design session about running a monolith on Kubernetes. Covered a lot of ground, from deployment topology all the way to disaster recovery and migration strategy. Dense question, and I think I undercooked the migration path section.
  • You're joining an infra team running a single monolithic backend on Kubernetes, with no plans for microservices or aggressive scaling. How would you design and operate it? Walk through deployment topology, networking, config and secret management, CI/CD, and rollout strategies.
  • How would you handle resource requests and limits, autoscaling, and stateful dependencies like databases, caches, and object storage in this Kubernetes setup?
  • What does observability look like for this monolith, and how would you handle incident response and disaster recovery?
  • What are the real trade-offs of staying monolithic versus moving to microservices in this context, and what concrete signals would tell you it's time to evolve the architecture?
  • If those signals do appear, how would you outline a low-risk incremental migration away from the monolith? Think about service boundaries, data ownership, API contracts, and how team workflows change.

“I started with pod replicas and node pools, talked about using a Deployment with a reasonable replica count and keeping stateless app nodes separate from anything touching persistent workloads.”

View Post