Interviews
System Design Interview Prep for Mid-Level Engineers
A structured way to answer system design questions, the building blocks interviewers expect you to know, common mistakes, and a four-week practice plan.
Updated · 9 min read
System design rounds feel open-ended, which is exactly what makes them stressful. Interviewers are not checking whether you know one correct architecture. They are watching how you clarify a vague problem, make trade-offs and communicate. A consistent structure handles most of that for you.
A structure for 45 minutes
- Clarify requirements (5 min): who uses it, core features, what is out of scope.
- Estimate scale (3–5 min): users, requests per second, read/write ratio, data size per year.
- Define the API and data model (5–8 min): the main endpoints and tables or documents.
- Draw the high-level design (10 min): clients, load balancer, services, databases, caches, queues.
- Deep-dive (10–15 min): the hardest part — usually scaling reads, writes, or consistency.
- Wrap up (3 min): bottlenecks, failure modes, monitoring, what you would do next.
Building blocks to know cold
- Load balancing and stateless services, and why statelessness makes scaling easy.
- Caching: what to cache, cache-aside versus write-through, invalidation and TTLs.
- Databases: when to choose relational versus key-value or document stores; indexes; replication; sharding by a key.
- Queues and asynchronous work: decoupling, retries, idempotency and dead-letter queues.
- Consistency trade-offs: strong versus eventual consistency and where each is acceptable.
- Rate limiting, pagination and basic observability (metrics, logs, traces, alerts).
Common mistakes
- Jumping into microservices and Kafka before understanding the requirements.
- Skipping numbers: without a rough scale you cannot justify any design choice.
- Designing silently — narrate your reasoning and check in with the interviewer.
- Ignoring failure: what happens when the cache, a database replica or a region goes down?
A four-week practice plan
- Week 1: review the building blocks and sketch one classic design per day (URL shortener, rate limiter, news feed).
- Week 2: practise estimation until rough math takes under three minutes.
- Week 3: do timed 45-minute mock interviews out loud, recording yourself or with a partner.
- Week 4: deep-dive designs close to your target companies' products, and prepare stories about systems you have built.