Подготовка к этапу собеседования System Design
В рамках этой цели я буду готовиться к этапу собеседования в Т по System Design. Эта цель является частью общей цели по прохождению собеседования в компанию Т.
Вообще для меня это нечто неизвестное ,непонятное и неизведанное. Я никогда не проектировал сложные системы ,да и не залезал куда-то дальше фронтенда. Даже в самом фронтенде мне особо не доводилось проектировать чего-то сложного вроде микро-фронтендов и монорепозиториев.
Плюсом к этому мне так и не удалось узнать ,что конкретно требуют по этой секции в Т. Поэтому буду идти по принципу "Лучше перебздеть ,чем недобздеть". Исходя из чего выбрал 2 курса и уже стандартную стратегию изучения того ,что мне непонятно.
Вообще польза этой цели будет не только для прохождения этапа собеседования ,но и для моего будущего приложения Pomidaro ,на которое я уже прикинул грандиозные планы ,где без хорошего бека и архитектуры не обойтись. Знания точно пригодятся там.
Мок-собесы предполагаются на курсах ,которые я выбрал. Но нужно пройти помимо этого еще 3 собеса от других людей ,чтобы быть уверенным на 100% в своих силах.
Будет не лишним здесь посмотреть по меньшей мере 5 примеров реальных собеседований по System Design.
UPD (31.10.2024): Убрал курс от Balun. Убрал все темы из курса от Яндекса кроме микрофронтендов. Бюджет сократился на 160.000.
Критерий завершения
5 мок-собесов по System Design пройдено успешно
-
Мок-собесы
Первые 2 мок-собеса будут на курсах. Для 3, 4 и 5 планирую найти специальных людей ,готовых провести их для меня.
Считаю здесь только успешные собесы. Если прошел 3/5 ,значит прохожу еще 2 ,пока в сумме не будет 5 успешных.
Стоимость этапа — 15000 ₽
-
1 собес пройден
-
2 собес пройден
-
3 собес пройден
-
4 собес пройден
-
5 собес пройден
-
-
Курс по System Design от Яндекс
Этот курс длится аж пол года. Беру первый ближайший поток
Стоимость этапа — 40000 ₽
-
Микрофронтенды и разбивка монолитной системы на микросервисы
-
-
Книга Подготовку к сложному интервью System Design
Книгу прочитать между делом ,возможно даже перед курсами
-
Масштабирование от нуля до миллиона пользователей
-
Приблизительные оценки
-
Общие принципы прохождения интервью по проектированию IT-систем
-
Проектирование ограниченного трафика
-
Согласованное хеширование
-
Проектирование хранилища типа "ключ-значение"
-
Проектирование генератора уникальных идентификаторов в распределенных системах
-
Проектирование системы для сокращения URL-адресов
-
Проектирование поискового робота
-
Проектирование системы уведомлений
-
Проектирование ленты новостей
-
Проектирование системы мгновенного обмена сообщениями
-
Проектирование системы авто-заполнения поисковых запросов
-
Проектирование YouTube
-
Проектирование Google Drive
-
Век живи - век учись
-
-
Greatfrontend Interview Questions
Разбор секции Frontend интервью по System Design в крупные мировые компании.
Стоимость этапа — 15000 ₽
-
Introduction to Front End System Design
-
Types of Front End System Design Questions
-
The RADIO Framework
-
Front End System Design Interview Evaluation Axes
-
Common Mistakes Made During Front End System Design Interviews
-
Front End System Design Cheatsheet
-
News Feed (e.g. Facebook) [medium]
-
Autocomplete [medium]
-
Pinterest [hard]
-
E-commerce Marketplace (e.g. Amazon) [hard]
-
Travel Booking (e.g. Airbnb) [medium]
-
Chat App (e.g. Messenger) [medium]
-
Photo Sharing (e.g. Instagram) [medium]
-
Video Streaming (e.g. Netflix) [hard]
-
Rich Text Editor [hard]
-
Google Docs [hard]
-
Dropdown Menu [medium]
-
Image Carousel [medium]
-
Modal Dialog [medium]
-
Poll Widget [easy]
-
Email Client (e.g. Microsoft Outlook) [medium]
-
-
Разбор Frontend System Design Interview (Youtube)
Автор разбирает распространенные кейсы Frontend System Design Interview
-
[Front End System Design] - Facebook News Feed
-
[Front-End System Design] - Pinterest
-
[Front-End Product Design] - Netflix
-
[Front-End System Design] - Chat application
-
[Front-End System Design] - Typeahead Widget
-
[Front-End System Design] - Data Table Component
-
[Front-End System Design] - Design a Poll Widget
-
[Front-End System Design] - Google Sheets
-
[Front-End System Design] - Google Calendar
-
[Frontend System Design] - Deep dive into HTTP [Part 1]
-
[Front-End System Design] - Typeahead component
-
[Frontend System Design] - Notion
-
-
Frontend System Design Questions
Стоимость этапа — 15000 ₽
-
All in One Comprehensive Guide
-
Requirements
-
Architecture
-
Data Model
-
Interface Communication
-
API Design
-
Optimizations
-
Design Auto Complete Search
-
Design Chat App
-
Design Google Calendar
-
Design Sprint Board
-
Design Facebook Newsfeed
-
Design Pinterest
-
Rich Text Editor
-
Design mentions
-
SSR vs CSR
-
Security
-
XSS vs CORS
-
Image Caching Strategies
-
Broadcast Channels
-
IndexedDB
-
Core Web Vitals
-
Web Accessibility
-
ARIA Roles
-
Network Requests
-
Apollo Cache
-
Image Optimization Strategies
-
Web Protocol Cheat Sheet
-
Normalization
-
Design A scalable Frontend Architecture
-
-
Темы на разбор
-
LazyLoading в реакт и его виды (по действию ,по простою и тд)
-
Приемы работы со skeleton-плесхолдерами
-
Как чекнуть отсутствие сети или плохую связь
-
Реализация бесконечной прокрутки и библиотеки для React
-
getBoundingClientRect и Intersection Observer
-
Реализация виртуальных списков и библиотеки для React
-
Влияние большого кол-ва элементов в DOM на рендеринг браузера и реакта
-
Влияние смещения элементов на рендеринг в браузере
-
Приемы кеширования скролла и данных
-
GraphQL - тема большая ,поэтому под вопросом. Но если предлагать для решения REST ,нужно будет упомянуть о GraphQL ,а потому хотябы немного
-
XSS и защита
-
Draft.js - почитать ,пощупать
-
Написать простенький WYSIWIG редактор (в рамках GreatFrontend)
-
AST дерево
-
CDN
-
WebP
-
srcset
-
Приемы передачи данных об устройстве юзера на сервер
-
Оптимистичные обновления (скорее в рамках React Query)
-
Intl API
-
Приемы по работе с иконками (сравнение преимуществ и недостатков) ,подходы в React библиотеках
-
Long Polling, SSE, HTTP/2 и HTTP/2 performance
-
Приемы нормализации данных (Тут возможно на примере Redux Toolkit)
-
Приемы пагинации (посмотреть в действии)
-
gzip и brottle
-
SSR - критерии выбора
-
Load script атрибут defer
-
Web Workers
-
PWA / Service Workers
-
cookies
-
iframe
-
ARIA https://www.w3.org/WAI/ARIA/apg/patterns/
-
AbortController ,посмотреть в React Query
-
RenderProps - освежить ,глянуть примеры
-
Debounce/Throrrle - реализовать на GreatFrontend ,изучить юзкейсы
-
Стратегии Retry Request ,посмотреть в React Query
-
Normalizr https://github.com/paularmstrong/normalizr/tree/ma...
-
Typeahead https://engineering.fb.com/2010/05/17/web/the-life...
-
requestIdleCallback / requestAnimationFrame
-
Стратегии ограничения текста / контента
-
Стратегии автопозиционирования дропдаунов/тултипов
-
i18n + React
-
CSP
-
Организация клиентского кеша и локального кеша компонентов
-
- 369
- 22 октября 2024, 15:20
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением