Global tech
Figma Backend Engineer Interview: Rounds, Questions and Preparation
For Backend Engineer roles at companies like Figma
What the job involves
Backend engineers at global product companies like Figma build and maintain the server-side systems that power collaborative design tools, user accounts, file storage, and real-time sync. Day to day, they write APIs, design database schemas, optimise performance, and ensure reliability at scale for millions of users. They work closely with frontend, infrastructure, and product teams to ship features that feel instant and never lose data.
Role and technical knowledge
- 1
How would you design a backend for a collaborative design tool where multiple users edit the same file simultaneously?
Discuss conflict resolution (OT or CRDT), WebSocket connections, and a scalable pub/sub layer. Mention persistence and versioning.
- 2
Explain the difference between SQL and NoSQL databases. When would you choose one over the other for a product like Figma?
Cover schema flexibility, consistency models, and scaling. For Figma-like needs, relational for user data, NoSQL for high-volume event logs or real-time state.
- 3
What is an index in a database and how does it affect read and write performance?
Explain that indexes speed up reads but slow down writes and take space. Give an example of a composite index on user_id and created_at.
- 4
How do you handle authentication and authorization in a multi-tenant backend?
Mention JWT or session tokens, role-based access control, and tenant isolation at the query level. Discuss token expiry and refresh.
Practical scenarios
- 5
Your API response times spike to 2 seconds during peak hours. How do you debug and fix it?
Start with monitoring and logs, check database slow queries, add caching, and consider read replicas or sharding. Mention load testing.
- 6
You need to add a new feature that requires a database migration on a live production system. How do you do it safely?
Use backward-compatible migrations, add columns as nullable first, backfill in batches, and deploy code that handles both old and new schema.
- 7
A background job that processes file uploads is failing intermittently. How do you investigate?
Check job logs, retry logic, and dead-letter queues. Look for timeouts, memory limits, or race conditions. Add idempotency to avoid duplicate processing.
- 8
How would you implement rate limiting for an API to prevent abuse?
Describe token bucket or sliding window algorithms, using Redis for distributed counters. Mention returning 429 status and headers like Retry-After.
Behavioural and HR
- 9
Tell me about a time you had to learn a new technology quickly for a project. How did you approach it?
Use STAR method: describe the situation, the technology, your learning steps, and the outcome. Show curiosity and self-direction.
- 10
Describe a situation where you disagreed with a teammate on a technical decision. How did you resolve it?
Focus on data-driven discussion, listening, and compromise. Highlight that you prioritised the project goal over being right.
- 11
Why do you want to work as a backend engineer at a global product company like Figma?
Connect your interest in scalable systems and collaborative tools to the company's mission. Mention specific products or engineering blogs you admire.
- 12
Where do you see yourself in three years, and how does this role fit into that plan?
Show ambition to grow into a senior engineer or tech lead, with deeper expertise in distributed systems. Align with the company's growth path.
Coding and problem solving
- 13
Given a list of file operations (create, edit, delete) with timestamps, write a function to reconstruct the final state of a file.
Clarify input format, handle out-of-order timestamps, and use a map or tree. Discuss time and space complexity.
- 14
Implement a rate limiter that allows N requests per user per minute using a sliding window.
Use a queue or deque per user, or a Redis sorted set. Explain how to handle distributed systems and cleanup of old entries.
- 15
Design a function to merge two sorted lists of user events and return the latest K events.
Use two pointers or a heap for K largest. Discuss edge cases like empty lists and duplicate timestamps.
- 16
Write a function to detect a cycle in a dependency graph of microservices.
Use DFS with visited and recursion stack, or topological sort with Kahn's algorithm. Explain how this prevents deployment deadlocks.
Coding round
Backend Engineer interviews usually include a coding round. Practise planning the solution out loud, then review code the AI writes from your plan, in Python, Java, C++, C or JavaScript.
Ready to try it for real?
Take a timed test or talk through a mock interview for this role, then see your scores.
This is practice material for Backend Engineer roles, written with AI. It is not a list of questions Figma or any other company has asked.