Topic 0.1
What is System Design?
In one line
System design is the practice of turning a vague product idea into a concrete set of components, their interactions, and the data that flows through them — while accounting for scale, failure, and cost.
Think of it like this
Planning a new city. Before building, you decide where the roads, water pipes, power lines and hospitals go, how many people will live there, and what happens when a road is blocked. System design is the same planning, but for software.
Key ideas
- 01
System design answers eight questions: Requirements, Architecture, Components, Interactions, Data, Scale, Failures, Trade-offs.
- 02
It is a conversation about constraints, not a picture. You earn points by asking questions and defending decisions.
- 03
Requirements: functional (what) vs non-functional (how well) — do not skip clarifying them in an interview.
- 04
Components are the nouns of the system: services, databases, queues, caches, load balancers, clients.
- 05
Interactions are the verbs: HTTP calls, async messages, event streams, file writes.
- 06
Data is the hardest part: schema, cardinality, access patterns, consistency needs, retention.
- 07
Scale: estimate QPS, storage, bandwidth early so every later decision has a number behind it.
- 08
Failures: assume every node dies, every call is slow, every message is duplicated — design for each.
- 09
Trade-offs: every choice gives something up. State the cost out loud (e.g. 'cache gives latency but costs consistency').
Java / Spring map
- →
A Spring Boot 'component' is a @Service, @Repository or @Controller — same idea as a component in a diagram.
- →
Your HLD-to-code translation: API Gateway → Spring Cloud Gateway; service → Spring Boot app; queue → Kafka/AMQP; cache → Redis via spring-data-redis.
Explain without notes
Describe a system you use daily (e.g. food delivery) in terms of components, data, and scale.
What are the three most likely failure points in that system?
Practice
Pick a small product and produce the 8-question breakdown in writing.
Draw its architecture once from memory, then compare against a known good diagram.
Trade-offs
- ↔
A design that handles every failure mode costs 10x more to build. Interviewers reward scoping to requirements first.
Completion checklist
I can answer 'what is system design' in three sentences.
I can enumerate the eight lenses of analysis without prompts.