Тестовое собеседование #3. Вопросы по HTML, JavaScript и React на интервью Frontend-разработчика
Учебное техническое интервью для начинающего frontend-разработчика по HTML, CSS, JavaScript и React с практическими задачами и лайвкодингом React state. Правильность ответов авторы предлагают сверить в отдельном разборе интервьюера.
Запись представляет собой учебное мок-интервью frontend-разработчика: кандидат отвечает на вопросы по HTML, CSS, JavaScript и React, а интервьюер намеренно не раскрывает правильность ответов до отдельного разбора. В HTML и CSS обсуждают семантику, формы, подключение скриптов, Flexbox, позиционирование, изображения и селекторы; в JavaScript — типы, приведение, области видимости, функции, this, прототипы и классы. В части React разбирают Virtual DOM, хуки и на лайвкодинге проверяют, почему прямое изменение объекта в state не вызывает перерисовку.
Повторить семантический HTML не только для SEO, но и для доступности со скринридерами; отдельно знать назначение input, textarea и input type="file".
Уметь объяснить подключение JavaScript через script, различия async и defer, а также порядок загрузки HTML, CSS и скриптов.
Для CSS подготовить практические ответы по Flexbox: оси, выравнивание, flex-grow, flex-shrink, равные карточки и фиксированные промежутки между ними.
Закрепить различия margin и padding, условия работы z-index, позиционирование absolute относительно позиционированного предка, адаптацию изображений и background-size: cover.
В JavaScript уверенно различать примитивы и ссылочные значения, == и ===, неявное и явное приведение типов, var/let/const, hoisting, this, обычные и стрелочные функции, прототипы и super.
Для React разобрать useState, useEffect и массив зависимостей, useCallback/useMemo, сравнение значений по ссылке и неизменяемое обновление объектов state.
На собеседовании полезно не ограничиваться названием термина: интервьюер регулярно просит раскрыть механизм на конкретном примере, например объяснить, что именно хранит переменная и почему произошёл или не произошёл ререндер.