Outline the Basic Design

Look at how to outline the design and practice it yourself.

We have discussed a few concepts of system design in the past few chapters. All of these concepts will get used in our design. For the system design questions, we need to focus on learning how to answer interview questions. Let us jump into designing the systems.

The most crucial concept for designing the system is to understand the requirement in detail.

Probe the interviewer

Systems are complex, and it is next to impossible to consider all the trade-offs in just a one-hour interview. On the other hand, the interviewer wants us to ask questions. It means they may intentionally give us vague problems. This shows them how well we navigate the ambiguity we may encounter on the job.

There is no one fixed solution for system design problems, and answers can vary from interviewer to interviewer. Due to all these reasons, we should not start solving the problem without understanding the prompt and assumptions in detail. Think of it like a brainstorming session with a set of open questions that we need to clear with the interviewer.

Here are a few steps we can use to approach the problem. ...