Q1: What is system design, and what does an interviewer expect?
System design is the process of defining a system's components, interfaces, data flows, and operational properties to meet functional and non-functional requirements. In an interview, clarify requirements first, estimate scale, propose a high-level architecture, explore critical components, and explain trade-offs. There is rarely one universally correct design; the quality of reasoning matters.
Key Takeaways
- Clarify scope and constraints before drawing architecture.
- Explain trade-offs and failure handling, not just component names.