Подготовка к этапу собеседования 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 
- 
                                                                        Организация клиентского кеша и локального кеша компонентов 
 
- 
                                                                        
- 1413
- 22 октября 2024, 15:20
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением
 
     
     
                         
				