How to Answer System Design Interview Questions in English
Structure your system design interview in English: clarifying requirements, proposing architecture, discussing trade-offs, and scaling. Practical phrases included.
System design interviews test your ability to architect large-scale software systems — and your ability to communicate your thinking clearly in English. Many technically strong engineers underperform in system design interviews not because their knowledge is lacking, but because they dive into solutions without structure, fail to ask clarifying questions, or cannot articulate trade-offs in a way the interviewer can evaluate. This guide gives you the language and structure to perform well.
The Five Phases of a System Design Interview
Every system design interview follows a similar arc:
- Clarify requirements
- Estimate scale
- Propose a high-level architecture
- Deep-dive into components
- Discuss trade-offs and scaling
Interviewers want to see that you follow this structure naturally, not that you memorise answers. Use phrases to signal which phase you are in.
Phase 1: Clarifying Requirements
Never start designing without clarifying what you are building. Jumping straight to architecture signals poor engineering instincts. Spend three to five minutes asking targeted questions.
Opening:
“Before I start designing, I’d like to ask a few clarifying questions to make sure I understand the scope.”
Functional requirements:
“Should the system support real-time notifications, or is eventual consistency acceptable?” “Are we designing the read path, the write path, or both?” “Do users need to be able to edit or delete messages, or is it append-only?”
Non-functional requirements:
“What scale are we targeting? Approximately how many users, and what is the expected read-to-write ratio?” “What are the latency requirements? Is sub-100ms response time necessary, or is a few seconds acceptable?” “How important is data durability? Can we tolerate losing a small number of recent events?”
Confirming your understanding:
“So just to confirm: we’re building a URL shortening service that needs to support around 100 million URLs, with reads significantly more frequent than writes, and we want high availability over strong consistency. Is that right?”
Phase 2: Estimating Scale
Show that you think about scale from the beginning. Do the maths out loud — interviewers are evaluating your ability to reason, not just your arithmetic.
“Let’s do a rough capacity estimation. If we have 100 million users and each user creates one shortened URL per week, that’s roughly 14 million writes per day — about 160 writes per second. For reads, if each URL is accessed around 100 times, that’s 1.4 billion reads per day — about 16,000 reads per second. This tells me we need to optimise heavily for the read path.”
Phase 3: Proposing a High-Level Architecture
Start broad, then drill down. State what you are proposing before drawing the diagram.
“Let me start with the high-level architecture and then we can zoom in on the components that are most interesting.” “I’m going to propose a three-tier architecture: a load-balanced API layer, a set of application servers, and a distributed data store.” “For the data store, I’d lean towards a relational database for the URL metadata, since the schema is simple and consistent, and a cache layer in front of it for read performance.”
Phase 4: Deep-Diving into Components
When the interviewer asks you to go deeper on a specific component, use structured language to signal your approach.
“Let me walk through the URL generation service in more detail.” “There are a few approaches here. One option is to use a hash of the long URL — but that introduces collision risk. Another approach is to use a distributed ID generator like Twitter’s Snowflake. I’d lean towards the ID generator because…”
Phase 5: Discussing Trade-offs
Trade-offs are what interviewers most want to hear. Every architectural decision involves compromise — articulate what you gain and what you sacrifice.
Acknowledging trade-offs:
“This approach gives us better read performance, but it introduces consistency lag between the cache and the database. Depending on the requirements, that trade-off may or may not be acceptable.” “Using eventual consistency here means a user might see stale data for a few seconds after an update. For a social media feed, that’s generally fine. For a financial ledger, it absolutely is not.”
Comparing approaches:
“We could use a relational database, which gives us ACID guarantees and rich querying, or we could use a wide-column store like Cassandra, which gives us horizontal write scalability at the cost of complex querying. Given the write volume, I’d lean towards Cassandra, but I want to understand the query patterns first.”
Being honest about gaps:
“I’m less familiar with the internals of consistent hashing, but my understanding is that it reduces the number of keys that need to be remapped when a node is added or removed. Is it worth going deeper on that?”
Handling Follow-up Questions
“That’s a good point — I hadn’t considered the case where a single user generates a very high volume of writes. We could throttle per user at the API gateway, or we could use a queue to absorb spikes.” “You’re right that a single database will become a bottleneck. The next step I’d consider is read replicas, and then horizontal sharding if that isn’t sufficient.”
Common Language Mistakes to Avoid
Starting with implementation details: Beginning with “I’d use Redis and Kafka” without stating the problem or requirements signals poor structure.
Narrating your uncertainty with filler:
Weak: “Um… so I think maybe we could, like, use a load balancer?” Strong: “I’d place a load balancer in front of the application servers to distribute traffic and enable horizontal scaling.”
Proposing without justifying: Always explain why, not just what.
Weak: “I’d use PostgreSQL.” Strong: “I’d use PostgreSQL because the schema is well-defined and relational, and the query patterns require joins that are difficult to handle efficiently in a document store.”
System design interviews reward candidates who communicate as well as they think. Structured language, explicit trade-off discussion, and confident clarifying questions demonstrate the engineering maturity that senior roles require. Practise talking through designs out loud — the vocabulary in this guide will help you do it in clear, professional English.