2 - ποΈ Architecture
In the context of front end system design interviews, the systems you are asked to design tend to be products, so we'll refer to the system as "product" from here on. Start by understanding the Requirements, defining the high level Architecture and the Data Model. Then define the Interfaces between the components in the product and talk about any Optimizations or dive deep into specific areas which require special attention
1 - Requirements exploration: Understand the problem thoroughly and determine the scope by asking a number of clarifying questions
2 - Architecture: Identify the key components of the product and how they are related to each other
3 - Data model: Describe the various data entities, the fields they contain and which component(s) they belong to
4 - Interface definition (API): Define the interface (API) between components in the product, functionality of each API, their parameters and responses
5 - Optimizations and deep dive: Discuss about possible optimization opportunities and specific areas of interest when building the product.