32 lines
2.4 KiB
Plaintext
32 lines
2.4 KiB
Plaintext
---
|
|
title: Front End System Design Cheatsheet
|
|
description: Summary of the important things you need to take note of during front end system design interviews.
|
|
seo_title: Cheatsheet for Front End System Design Interviews
|
|
---
|
|
|
|
## RADIO Framework
|
|
|
|
1. **Requirements Exploration**: Understand the problem thoroughly and determine the scope by asking a number of clarifying questions.
|
|
2. **Architecture/High-level Design**: 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 APIs, their parameters and responses.
|
|
5. **Optimizations and Deep Dive**: Discuss about possible optimization opportunities and specific areas of interest when building the product.
|
|
|
|
## Evaluation Axes
|
|
|
|
1. **Problem Exploration**: Demonstrated understanding of the problem, asked clarifying questions to reduce ambiguities and gathered sufficient requirements.
|
|
2. **Architecture**: Broke down the problem into smaller independent parts, defined their responsibilities and how these components can work together.
|
|
3. **Technical Proficiency**: Demonstrated technical knowledge and proficiency of front end domain fundamentals (e.g. performance, networking, accessibility, i18n, security, etc), relevant technologies and APIs.
|
|
4. **Exploration and Tradeoffs**: Suggested various possible approaches on how to achieve certain functionality, explained the pros and cons and made recommendations.
|
|
5. **Product and UX Sense**: Showed consideration for user experience and decisions to make the product a great one.
|
|
6. **Communication and Collaboration**: Conveyed thoughts and ideas clearly and concisely, receptive to feedback and collaborated with the interviewer.
|
|
|
|
## Common Mistakes
|
|
|
|
- Responder imediatamente à pergunta sem primeiro fazer perguntas e obter requisitos.
|
|
- Abordar a pergunta de maneira desestruturada, indo em várias direções e deixando de abordar áreas importantes.
|
|
- Insisting on only one solution or the best solution without realizing that each solution has tradeoffs.
|
|
- Remaining silent the entire time and only thinking in their head.
|
|
- Going down a rabbit hole and spending too much time on unimportant areas.
|
|
- Using buzzwords without being able to explain them.
|