Getting Started
What Interviewers Assess
The four things an interviewer is actually scoring, and how candidates most often lose points on each.
A system design interview is not a quiz with a single correct answer. The interviewer is watching how you take a vague, open-ended prompt and turn it into something concrete enough to build — and scoring you along the same four axes Clotiv's mock interviews use: Technical Correctness, Communication & Clarity, Time Management, and Edge Case & Scalability. Almost every piece of advice in this track maps back to one of those four.
Scoping the problem
The first few minutes decide the rest of the interview. Candidates who skip straight to drawing boxes tend to solve the wrong problem well, which reads worse than solving the right problem partially.
- Ask what the system needs to do before deciding how it should work.
- Name the two or three capabilities that matter and say out loud what you are leaving out.
- Put numbers on the qualities that will drive your design.
For a prompt like "design a URL shortener," a strong candidate spends the first couple of minutes pinning down how many new URLs get created per day, roughly what the read:write ratio looks like, and whether custom aliases and click analytics are in scope. A weak candidate starts sketching a database schema before any of that is settled.
Reasoning about trade-offs
Every meaningful choice costs something. Routing writes through a queue like Kafka instead of a direct call buys you burst absorption, durable replay, and a producer that never blocks on a slow consumer — and costs you end-to-end latency, since a write is no longer "done" the instant a client sees a response, only once something downstream actually processes it. State the cost, not just the benefit.
type Tradeoff = {
choice: string;
buys: string;
costs: string;
};
const orderEvents: Tradeoff = {
choice: "Publish order-placed events to Kafka instead of calling inventory synchronously",
buys: "Checkout stops blocking on inventory's latency; a slow or down inventory service no longer stalls the customer",
costs: "An order can be accepted before inventory has actually confirmed it — the UI has to account for that gap",
};
Synchronous
Client
Order Service
waits on the call below
Inventory Service
DB
Queue-based
Client
Order Service
publishes, returns immediately
Kafka: order-events
Inventory Consumer
writes to DB when ready
| Interviewer is scoring | Weak answer | Strong answer |
|---|---|---|
| Technical Correctness | Names a technology | Explains why it fits this load, and what breaks if it doesn't |
| Communication & Clarity | Narrates in silence | Checks in and adapts to interviewer cues |
| Edge Case & Scalability | Designs for today's traffic only | Names the first thing that breaks at 10x load |
Communicating as you go
Interviews are collaborative. Thinking out loud lets the interviewer redirect you early, which is almost always cheaper than discovering at minute forty that you misread the prompt — and it's the main evidence they have for Communication & Clarity, since there's no other channel for them to see your reasoning.