This guide tracks 7 patterns (2 of them typically hard), 5 commonly reported questions, and a 5-round loop that usually runs 3-4 weeks.
Key patterns
Showing 3 of 7Common questions
Showing 3 of 5Interview process
Showing 1 of 5 roundsStart studying now, without an account
Every lesson below is a free public reading page. No sign-up, no install, and the worked examples run in the tab.
The Python behind Figma's top patterns
These lessons do not teach the patterns themselves. They teach the language mechanics each pattern is built from, which is the part you have to have in your hands before the pattern is worth practicing.
- Arrays & HashingPython10 min readTuples & setsGroup fixed records with tuples and track uniqueness with sets.
- Arrays & HashingPython10 min readDictionariesMap keys to values: read safely, assign, and merge dictionaries.
- TreesPython11 min readRecursion: a function that calls itselfSolve a problem in terms of a smaller version of itself, with a base case to stop.
- GraphsPython10 min readChoosing the right data structurePick a set or dict for fast membership and lookups instead of scanning a list.
- BFS (Breadth-First Search)Python12 min readCounter, defaultdict & dequeReach for specialized collections: count with Counter, group with defaultdict, queue with deque.
- Dynamic Programming (1D)Python20 min readProfiling, complexity & cachingFind the hot path, fix complexity, and memoize repeated work with lru_cache.
Figma runs a system design round
The System Design course opens with the method itself: how to scope a vague prompt, turn it into requirements you can defend, and budget the clock. You write your own answer first, then reveal a model answer to compare against.
- System design roundSystem Design25 min readClarifying a Vague PromptTurn a one-line prompt into a scoped problem with three to five sharp questions and explicit out-of-scope.
- System design roundSystem Design20 min readFunctional RequirementsPick the three user capabilities that define the core loop, phrase them as 'users can X', and defer the rest with a reason.
- System design roundSystem Design25 min readNon-Functional Requirements, QuantifiedTurn 'scalable and reliable' into quantified, testable targets (p99, nines, QPS) and name the design lever each one forces.
How Figma judges you outside the code
The values and engineering norms the interviewers are calibrated against. Useful for the behavioral round, and useful for deciding which trade-off to argue for in the technical one.
Values they name
- Play as a Team - collaboration over competition
- Run with It - ownership and initiative
- Make it Happen - resourcefulness and execution
- Build for Everyone - accessibility and inclusion
- Grow - continuous learning and improvement
What they look for in behavioral rounds
- Demonstrate collaborative and team-oriented mindset
- Show passion for design and creative tools
- Exhibit understanding of real-time collaboration challenges
- Display strong problem-solving with complex systems
- Show you value accessibility and inclusive design
How the team builds
- Design tools domain focus
- Real-time collaboration is the core challenge
- CRDTs and operational transformation knowledge valued
- Graph problems are common (design = graph)
- Strong design sensibility expected
Primary stack
- TypeScript
- C++
- WebGL
- React
- PostgreSQL
- Redis
- Code review
- collaborative reviews with design considerations
- Deployment
- continuous deployment with careful testing
- Documentation
- documentation for complex systems and APIs
Reading the guide is the easy part. Figma will ask you to perform.
CodeSparring is a practice environment, not a question bank. You sit a full round against an AI interviewer, in an editor that runs your code, and you leave with a score and a specific next rep.
An interviewer that reacts
Carry one problem from clarifying questions through to working code while an AI interviewer responds to what you say and what you type, by voice or by text.
Code that actually runs
An editor in the page with a real runtime and real test cases. You run your solution and read the output, the same way you would in a shared editor on the day.
A scored round, not a vibe
Every session ends with a rubric covering problem solving, communication, and code quality, so you can see which part of the round is costing you the offer.
And 364 lessons you can read right now, free
The whole curriculum is public. Read the concept, run the worked example in the tab, and only sign in when you want the graded exercise at the end of a lesson.