Most comprehensive Frontend System Design Cheat Sheet help in approaching the Frontend System Design Interview in the best-structured way. It covered 7 most important system design interview topics.
Anuj Sharma
Last Updated Dec 12, 2024
This interview mostly focuses on how well you can capture the requirements and translate those requirements into designing a frontend system.
Primarily there are 2 types of questions you can expect
There are 3 major expectations in the frontend system design interviews
Best Framework to follow for frontend system design - “RADIO”
Clarify functional & Non Functional requirements. Define the scope of the front-end system design.
Which architecture to follow - Monolith or Micro-frontend or Mono-repo
How the application data look like and the entity's relationship
API Interface to interact with various functions of the system this can be REST API, GraphQL interface or functional interfaces.
Various optimizations to make frontend applications more performant & scalable, primarily Network Optimizations techniques, Asset Optimizations techniques & Rendering Optimizations techniques.
In the rest of the notes we will deep dive into each of the RADIO framework steps one by one, let's start 👇👇👇
Any frontend system design round starts with requirements gathering, and generally, 2 types of requirements should be gathered as part of this stage.
💡 It is important to rather focus on remembering requirements, we should focus on the right questions to generate the functional and non-functional requirements.
The functionality the system will provide to the end users to fulfil their use-case. for example - for an e-commerce website, displaying catalogue items, and searching through the catalogue is the functional requirement.
❓Question: What user will the user use the system for? or what capabilities the system will provide to the users?
We can derive functional requirements via 2 approaches
All the requirements which are essential to make a frontend application more robust, performant, scalable, and secure are considered non-functional requirements.
Question: Who are the users?
Question: How will they going to use the system?
Question: What kind of experience do we want to support in the system?
It is a very important step after requirement gathering since we know most of the frontend system design interviews last for around 45 min to 1 hour. In this limited time, we can not dig deep into all the functional and non-functional requirements.
This step helps you to discuss all the functional and non-functional requirements, and come up with a scoped list of requirements on which you will going to focus in the rest of the interview
Let's say we need to build an e-commerce application like Amazon, and we have mentioned user management, authorization & authentication, and role-based access as a functional requirement. These kinds of requirements are common in most applications, so In the scoping step, you can discuss and remove these kinds of trivial common requirements and focus on more specific requirements related to the application design.