Frontend
Что такое type guard в TypeScript?
Посмотрите на функцию makeBook. Определите, что выведется в консоли на строках 20-21 (две закомментированные строки). Объясните поведение функции.
Как сделать так, чтобы функция makeBook возвращала ожидаемые значения 0 и 5 вместо двух десяток?
Отрефакторите компонент, который рендерит случайное число (из Promise) и положение скролла. Найдите проблемы и исправьте их.
Опишите критический путь рендеринга браузера: от ввода URL в адресную строку до отрисовки страницы. Расскажите про DNS, TCP, HTTP, построение DOM, CSSOM, Render Tree, Layout и Paint.
Блокирует ли CSSOM рендеринг страницы? Почему?
Что такое reflow и repaint? Что такое forced reflow (принудительная перерисовка)? Как можно оптимизировать рендер, чтобы уменьшить количество принудительных перерисовок?
Что такое CORS? Как он работает? В чём разница между простыми запросами (GET, POST) и предварительными запросами (preflight OPTIONS)? На что смотрит CORS при отправке запроса?
Какие паттерны проектирования и принципы качества кода вы используете при разработке на React/TypeScript? Как применяете принципы SOLID во фронтенд-разработке?
Как можно решить задачу, которую решает наследование, альтернативным способом? Что такое композиция в контексте TypeScript и React?
Что такое HOC (Higher-Order Components)? Для чего используются? Приведите примеры использования HOC в React.
В каких случаях происходит перерисовка (ре-рендер) компонента в React? Расскажите про reconciliation (согласование).
Как работает Virtual DOM в React? Как React определяет порядок выполнения операций при ре-рендере? Расскажите про React Fiber и планировщик (scheduler).
Для чего используются дженерики (Generics) в TypeScript? Как ограничить дженерик определёнными типами? Что такое type narrowing и как оно реализуется?
Расскажите о своём опыте работы с Next.js. На каких проектах применяли и какие методы рендеринга использовали для разного контента?
Как вам помогает TypeScript в работе? Что из себя представляет типизация в нём?
Расскажите об опыте работы с библиотеками управления состоянием (Redux, RTK, Zustand).
Приходилось ли настраивать CI/CD?
Выделялись ли ресурсы на написание тестов? Какой опыт написания тестов?
Приходилось ли работать с микрофронтендами? Для чего вообще нужны микрофронтенды, какую проблему они решают?