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 20 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.

  • #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.

  • #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.

  • #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.

  • #16mediumfoundational

    16. Group Anagrams

    Cluster a list of strings so that every group contains the same multiset of characters. Figma uses this as a warm-up before scene-graph hash-bucketing questions.

  • #17mediumfoundational

    17. Number of Islands

    Count connected components of land in a 2D grid. Figma uses this to probe how you'd flood-fill a selection or count grouped layers on the canvas.

  • #19mediumfoundational

    19. Insert Interval

    Insert a new interval into a sorted, non-overlapping list and merge overlaps. Figma uses this to probe how you'd merge bounding-box dirty regions during incremental render.

  • #20mediumfoundational

    20. Clone Graph

    Deep-copy a connected undirected graph including all cycles. Figma frames this as a duplicate-component operation where the scene graph contains symbol references and cycles must be preserved without infinite recursion.

  • #21mediumfoundational

    21. Rectangle Overlap

    Determine whether two axis-aligned rectangles overlap. Figma uses this as the building block for viewport culling and marquee-selection hit-testing.

  • #22mediumfoundational

    22. Find All Anagrams in a String

    Return all start indices where an anagram of pattern p occurs in string s. Figma uses this as a sliding-window probe before pivoting to CRDT operation-window questions.

  • #23hardfoundational

    23. Median of Two Sorted Arrays

    Find the median of the union of two sorted arrays in O(log(min(m,n))). Figma uses this to push hard-bar candidates into binary-search-on-answer territory, the same shape used for partition lookups in multiplayer cursor state.

  • #24hardfoundational

    24. Trapping Rain Water

    Compute how much water is trapped between bars of varying height. Figma poses this as a stress-test of two-pointer thinking and disciplined invariant tracking.

  • #25hardfoundational

    25. Word Ladder

    Find the shortest transformation sequence from beginWord to endWord, changing one letter at a time. Figma uses this to probe graph-shortest-path intuition that maps onto state transitions in their multiplayer CRDT replay engine.

  • #26mediumfrequently asked

    26. LRU Cache

    Design a data structure that follows the Least Recently Used (LRU) cache eviction policy, supporting O(1) get and put operations. Figma asks this to probe how candidates reason about spatial-data caching — the same mechanism that keeps recently-rendered canvas tiles hot in memory.

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