Вернуться в видеотеку

РЕАЛЬНОЕ СОБЕСЕДОВАНИЕ НА MIDDLE FRONTEND РАЗРАБОТЧИКА | JAVASCRIPT REACT #frontend #собеседование

Техническое интервью для middle frontend-разработчика с вопросами по JavaScript, React, архитектуре и практикам разработки. В конце кандидат проектирует загрузку и отображение списка данных в React-приложении.

Источник: Iaroslav Silkin | Front-end

Открыть на YouTube

Таймлайн

Коротко о видео

Запись технического интервью 2023 года на позицию middle frontend-разработчика: автор пропускает вводный рассказ о компании и проекте и переходит к вопросам. Собеседующие разбирают Core JavaScript, асинхронность, контексты, области видимости, event loop, ООП, паттерны и SOLID; ответы кандидата местами уточняет интервьюер. В финале обсуждаются CSS/SCSS, React, Virtual DOM, Redux и устная задача о загрузке и масштабируемом отображении списка.

Затронутые темы

Что взять на заметку

  • Повторить типы JavaScript, различие null и undefined, нестрогое и строгое сравнение, а также ограничение точности Number для больших целых идентификаторов; в обсуждаемом проекте большие числа передают строками.
  • Нужно уметь объяснить состояния Promise, причину возможного вечного pending и обёртку с тайм-аутом через гонку исходного Promise с таймером; async-функция всегда возвращает Promise.
  • Разделяйте лексическую область видимости и this: у стрелочной функции нет собственного this и arguments, а this наследуется из внешнего контекста.
  • Подготовить различия var, let и const: function scope против block scope, hoisting и temporal dead zone; неизменяемость const относится к привязке, а не к содержимому объекта или массива.
  • Для event loop проговорить порядок: синхронный код в call stack, затем microtasks, затем очередная macrotask; к microtasks относят обработчики Promise и MutationObserver.
  • Повторить базовые понятия ООП, три категории паттернов проектирования и как минимум Single Responsibility и Open/Closed из SOLID; кандидат прямо говорит, что применял первые два принципа, но не всегда распознаёт паттерны по названию.
  • В React-задаче начать с локального состояния для простого экрана, отделить переиспользуемые кнопку, загрузку и список, предусмотреть loading/empty-состояния, кэширование запросов, пагинацию или infinite scroll и виртуализацию большого списка.

Рекомендуем посмотреть