What is the System Design Format?

The System Design Format is a question in which candidates design an application system using a drawing tool specialised for system design.
It can be used to gauge a candidate's system design skills, basic knowledge of infrastructure, etc.

Why does Google incorporate system design into the interview?


Most of the time, we also ask system design format questions for general software engineers who are not infrastructure engineers. Compared to coding questions, system design questions are relatively open-ended and require a variety of skills to answer.

1. Scrutinise the premise of the question: 

When a question asks you to "design Google Drive," it is important to make a variety of assumptions, such as how many users there will be, from which countries the system will be accessed, and whether there are any constraints on the requirements. This will help clarify the scope and constraints of the system.

2. Ask clarifying questions:

Ask the interviewer about the requirements and priorities of the system you are designing. The interview is not a silent task; it is also important to communicate with the interviewer.

3. Explain trade-offs:

Demonstrate an understanding of how the various components of the system design relate to each other; understanding the trade-offs represented by the CAP Theorem is a very important aspect of design.

Why is system design important?

When creating a system, it is important to keep the service up and running without having the system down as long as end users exist and use it. At the core of this is system design. System design requires an understanding of the various components (advantages and disadvantages) and the tradeoffs involved when designing the system.
When actually designing a system, several perspectives need to be considered.

  • Can the design meet the requirements?

It is necessary to ensure that the system meets specific requirements for performance, reliability, scalability, maintainability, etc. Without the right design, the system may not function as intended, resulting in performance problems, downtime, or other issues.

  • Can interoperability be ensured?

System design is critical to ensure that the various components of the system work together seamlessly. By defining clear interfaces and protocols, system designers can ensure that components can communicate with each other and share data as needed.

  • Can risks be mitigated?

System design can help mitigate risks associated with system failures, security, and other issues. By identifying potential risks and vulnerabilities, system designers design to mitigate these risks and minimise the impact of any issues that arise.

  • Can the system be easily maintained?

System design helps facilitate maintenance and upgrades over the entire life of the system. By designing the system with scalability and flexibility in mind, the system architect can easily upgrade components and add new features as needed.


This is a question format that many companies implement with live coding to gauge communication with candidates because it is relatively flexible.