Frontend
Парсинг HTML и CSS происходит последовательно или параллельно?
Расскажи про критические этапы рендеринга браузера
Ты когда-нибудь предлагал что-то по собственной инициативе для улучшения проекта?
Расскажите о вашем текущем проекте и причинах поиска новой работы
Почему не использовал input type number для поля ИНН?
Когда useMemo и memo нужны, а когда они будут мешать проекту?
В чём разница между controlled и uncontrolled input и когда что использовать?
Поле ИНН (10 или 12 цифр). Показать ошибку после blur. Кнопка Отправить disabled, пока форма невалидна
Расскажи про задачу в Гринатоме, которой ты особенно гордишься?
Что такое React Portal, как он работает и его особенности?
Что такое generic в TypeScript?
Зачем нужен счётчик rejectedCount? Почему нельзя просто смотреть на длину массива errors?
Что предпочтительнее использовать для хранения данных по ключу: Map или обычный объект? В чём преимущества Map?
Какие пропсы делали у компонентов в дизайн-системе? Закладывали пропсы на будущее или только то, что нужно сейчас?
Что знаете про сборщик мусора в JavaScript? Что такое утечки памяти и в каких случаях они могут происходить?
Оцени пространственную сложность своего решения.
Зачем нужен refresh token? Когда он вообще используется?
Расскажи о вариантах оптимизации и мемоизации на стыке родительского и дочернего компонентов
/** * Task 3: Analyze the function below and fix any errors. Explain the role of the `never` type in TypeScript. */ function throwError(): never { throw new Error('An error occurred'); } /** * Task 4: Transform the given type `MaybeProps` to make all of its properties required. */ type MaybeProps = { a?: number; b?: string; }; /** * Task 5: Create a generic type `Container` that contains a single property `value`. * The type of `value` should be constrained to either `string` or `number`. */ type Container<T> = { value: T; };
Как работает Event Loop — какие очереди есть, порядок их исполнения? Расскажите про микрозадачи, макрозадачи, requestAnimationFrame, requestIdleCallback.