What is 'system design'?
Options
- Choosing the main components and how they connect (Correct option)
- Drawing the screens of the user interface of an app
- Writing unit tests for the code of the application
- Installing an operating system on all the servers
Answer
Choosing the main components of a software system (servers, databases, caches, queues) and how they connect so it works reliably at scale
Why
Coding solves a problem inside one program. System design decides the big picture: which parts exist, what each one does, how they talk, where the data lives and what happens when something fails or traffic grows.
In interviews you draw boxes and arrows (clients, load balancer, services, database, cache, queue) and explain your choices.
Remember
System design = the big picture of components and connections.