Ако проектирате такова приложение с оглед на монорепозитория, как бихте го разделили на пакети, като вземете предвид единната кодова база за уеб и мобилните платформи (React Native)?
Frontend
Какво представлява конкурентният режим и конкурентното рендиране в React? Как работи и за какво е полезно?
Защо React използва MessageChannel вместо setTimeout за създаване на опашка за последващи тежки рендери?
Използвали ли сте Apollo GraphQL само за заявки или също и за управление на локалното състояние (само клиентски полета, реактивни полета)?
Да предположим, че имаме едностраничен лендинг. Изпраща се заявка, получаваме JSON с 50 хиляди реда, и докато се парсира, UI замръзва поради еднопоточната природа на JavaScript. Какво бихте предложили и как да оптимизирате филтрирането и парсирането на този JSON, за да не замръзва страницата и UI да остане отзивчив?
Споменахте, че сте работили с монорепозитория — как беше организиран? Използвахте ли микрофронтендове?
Работили ли сте някога с React Native и React Native Web?
Можете ли да обясните от кои принципи се състои SOLID?
Дайте пример за принципа на инверсия на зависимостите във фронтенд разработката.
Имаш повече опит в технически задачи, малко споменаване на бизнес аспекти. Беше ли вид технически лидер, който се занимаваше с архитектурата, или просто реализираше обичайните бизнес функции?
Как да се избегне каскадното повторно рендиране на децата компоненти при промяна на състоянието в родителския компонент?
Как работи Fiber и как е структурирана приоритизацията (scheduler) в React?
Дайте пример за принципа за разделяне на интерфейсите във фронтенд разработката.
Да предположим, че не е възможно да се направи страниране на бекенда и Web Worker не е наличен. Как бихте решили този проблем?
Вижте два варианта на код (с рекурсивни обещания/микрозадачи) и кажете, каква е разликата между първия и втория вариант по отношение на блокирането на страницата.
С кои държавни мениджъри сте работили и какво ви харесва, какви плюсове и минуси виждате?
От какви части се състои event loop?
Какъв е известният проблем, който възниква при голям брой последователни setTimeout с нулево време?
Разкажи ми за hook-а useTransition — как работи и за какво се използва?
Как може да се анализира JSON потоково, разделяйки обработката на части, за да не блокира основния поток? С какво може да се стартира обработката на следващата част, за да не забави страницата (например, requestIdleCallback, генератори)?