Definition
System design interview — A system design interview asks a candidate to architect a large-scale software system by discussing trade-offs in scalability, data storage, APIs, and reliability, rather than writing implementation code. The problem is deliberately open-ended, and part of what's being evaluated is whether the candidate asks the right clarifying questions before settling on a solution.
The format is standard for senior and staff-level engineering roles at companies operating at real scale, where reasoning about millions of users, distributed systems, and failure modes matters more than any single algorithm.
A typical session has the candidate sketch an architecture, then defend specific decisions when pushed: why a particular database, how the system handles a traffic spike, what happens when one component fails. There's rarely a single correct answer; interviewers evaluate the reasoning behind each trade-off.
Frequently asked questions
Do you need to write code in a system design interview?
Generally no. The focus is on architecture and trade-offs at a high level, expressed through diagrams and discussion, rather than implementation code. Some interviewers may ask for pseudocode on a specific piece, but it's not the core of the exercise.
What topics come up most in system design interviews?
Common topics include load balancing, database choice and sharding, caching, API design, and how a system handles failure or scale. The mix depends on the company and the system being discussed.
How is a system design interview different from a technical interview?
System design interviews are a specific type of technical interview focused on architecture at scale. A general technical interview can also include coding exercises or role-specific tool knowledge that a design round doesn't cover.
Related pages
Get comfortable narrating trade-offs
Practicing how you explain technical reasoning out loud, in an Intervieux AI interview, carries directly into a system design round.