Ревью и рефакторинг таймера в React‑компоненте
Таймер лучше создавать и очищать в одном эффекте, а подсветку выводить из state. Прямой querySelector и вечное добавление класса здесь не нужны.
Читать ответПодготовка к интервью
1745 вопросов для подготовки на позицию Frontend-разработчик
Что проверяют на интервью
Подборка помогает системно подготовиться к интервью на позицию Frontend-разработчик: проверить теорию, потренировать практические задачи и объяснение решений. В подборке чаще встречаются темы: frontend, browser, react.
Каталог
Таймер лучше создавать и очищать в одном эффекте, а подсветку выводить из state. Прямой querySelector и вечное добавление класса здесь не нужны.
Читать ответЗагрузите пользователей в эффекте, а фильтр вычисляйте из списка и строки поиска. Для мгновенного поиска по уже полученным данным новый запрос не нужен.
Читать ответВторая кнопка уже вызывает handleSecondClick, который печатает текущее user.name: изначально Anton. Дополнительный эффект для этого не нужен.
Читать ответПоказанный LazyComponent уже использует правильную ленивую инициализацию и функциональный инкремент. Но экспорт по умолчанию выводит только Clicker, а не этот компонент.
Читать ответКаждый метод должен изменять выбранный DOM-элемент и возвращать один и тот же объект-обёртку. Тогда вызовы можно соединить в цепочку.
Читать ответОбработчик должен стоять на onSubmit формы: controlled-значение читается из state, uncontrolled — из ref.current.value. PreventDefault отменяет обычную отправку страницы.
Читать ответМассив должен храниться в state, элементы — иметь отдельные ID. Добавление и удаление выполняются неизменяемо, сортировка — над копией, сумма квадратов — через reduce.
Читать ответMap преобразует элементы, filter отбирает их, some/every проверяют условие, includes ищет значение. Unshift и splice изменяют массив, slice возвращает копию части.
Читать ответДобавьте отдельный state-объект с name и обновляйте его неизменяемо. Заодно устраните устаревшее замыкание счётчика функциональным обновлением.
Читать ответNuxt добавляет к Vue маршрутизацию, серверную часть, способы получения данных и рендеринга. Поэтому приходится учитывать не только клиентский жизненный цикл.
Читать ответНазовите фактическую технологию и объясните её выбор через требования: обычный интерфейс, сложная анимация, множество объектов или игровая сцена.
Читать ответJSX позволяет описывать интерфейс рядом с JavaScript-логикой и использовать обычные выражения, функции и композицию вместо отдельного языка шаблонов.
Читать ответ