Skip to main content

Figma Coding Interview Questions

25 Figma coding interview problems with full optimal solutions — 15 easy, 7 medium, 3 hard. Every problem ships with multiple approaches (brute-force first, then the optimal), complexity tables for each, company-specific tips on what an Figma interviewer values, and a FAQ section.

Showing 15 problems of 25

  • #1easyfrequently asked

    1. Two Sum

    Given an array of integers and a target, return the indices of the two numbers that add up to the target. Figma uses this as the warm-up where they watch how cleanly you translate 'looking up the complement' into a hash-map insight, a habit that recurs constantly in their scene-graph node lookups.

  • #2easyfrequently asked

    2. Valid Parentheses

    Given a string of brackets, decide whether the sequence is properly nested and matched. Figma asks this because their canvas group/ungroup operations are nested in exactly the same shape — a mismatched open/close in the scene graph corrupts the file.

  • #3easyfrequently asked

    3. Merge Two Sorted Lists

    Merge two sorted linked lists into one sorted list by splicing pointers. Figma uses this to probe pointer manipulation — the same fundamentals their CRDT operation log needs when merging two streams of edits.

  • #4easysometimes asked

    4. Remove Duplicates from Sorted Array

    Given a sorted array, remove duplicates in place and return the new length. Figma frames this as 'compact the operation log after dedup,' a near-daily concern when CRDT clients send overlapping ops during reconnect.

  • #5easysometimes asked

    5. Remove Element

    Given an array and a value, remove all instances of that value in place. Figma uses this as a quick check on in-place pointer manipulation — relevant when their renderer prunes deleted nodes from a flat batch before re-sending to the GPU.

  • #6easyfrequently asked

    6. Search Insert Position

    Given a sorted array and a target, return the index where target is, or where it would be inserted. Figma uses this as the canonical binary-search invariant test — the same logic that powers their CRDT position-finder when inserting a new operation into a sorted op-log.

  • #7easyrarely asked

    7. Plus One

    Given a non-empty array representing a non-negative integer, increment the number by one. Figma uses this as a 5-minute warm-up to gauge whether candidates handle carry propagation cleanly, the same pattern as their CRDT version-vector increments.

  • #8easyfrequently asked

    8. Merge Sorted Array

    Given two sorted arrays nums1 (with extra space) and nums2, merge them into nums1 in sorted order. Figma asks this to test the 'merge from the back' trick, which mirrors how their CRDT log appends two reconciled histories without an auxiliary buffer.

  • #9easysometimes asked

    9. Binary Tree Inorder Traversal

    Return the inorder traversal of a binary tree's nodes' values. Figma uses this as a tree-traversal warm-up because their scene-graph walk-order (top-down, then siblings in z-order) follows the same recursive structure.

  • #10easysometimes asked

    10. Same Tree

    Given the roots of two binary trees, determine whether they are structurally identical and have the same values. Figma uses this to check tree-diffing fluency, the foundation of their multiplayer scene-graph reconciliation step.

  • #11easyfoundational

    11. Climbing Stairs

    Count the number of distinct ways to climb a staircase taking 1 or 2 steps at a time. A warm-up at Figma to gauge whether you spot the Fibonacci recurrence before brute-forcing it.

  • #12easyfoundational

    12. Single Number

    Find the element that appears once in an array where every other element appears twice. Figma probes whether you reach for XOR or default to a hash map.

  • #13easyfoundational

    13. Linked List Cycle

    Detect whether a singly linked list contains a cycle. Figma uses this to gauge whether you reach for the two-pointer trick or burn memory on a visited set.

  • #14easyfoundational

    14. Best Time to Buy and Sell Stock

    Find the maximum profit from a single buy-and-sell on a price array. Figma uses it as a tempo-setter to check whether you collapse two nested loops into a running minimum.

  • #15easyfoundational

    15. Contains Duplicate

    Determine whether an integer array contains any duplicates. Figma frames this as a sanity gate before moving to scene-graph dedup problems.

Related interview-prep guides

Interview Platforms

Replit for Tech Interviews in 2026: The Full-IDE Take-Home Guide

Replit-for-hiring is the full-IDE take-home format. The candidate gets a forked Repl, hours or days to ship a working project, and a commit history the reviewer will scrutinize line-by-line. This guide breaks down what Replit captures, what it doesn't, and how a desktop AI setup pairs with the multi-day window.

Figma Coding Interview Questions — Full Solutions — InterviewChamp.AI