React‑приложение со списком персонажей
Храните поиск и страницу в состоянии, загружайте данные с отменой устаревшего запроса. Сортируйте полученную страницу, а подробности показывайте в диалоге.
Читать ответПодготовка к интервью
1745 вопросов для подготовки на позицию Frontend-разработчик
Что проверяют на интервью
Подборка помогает системно подготовиться к интервью на позицию Frontend-разработчик: проверить теорию, потренировать практические задачи и объяснение решений. В подборке чаще встречаются темы: frontend, browser, react.
Каталог
Храните поиск и страницу в состоянии, загружайте данные с отменой устаревшего запроса. Сортируйте полученную страницу, а подробности показывайте в диалоге.
Читать ответДостаточно изменить служебный state на новое значение: const forceUpdate = () => trigger(value => value + 1). Это запланирует рендер без изменения бизнес-данных.
Читать ответХраните поля как записи с ID и value: устойчивый ID сохраняет идентичность после удаления. Удаление последней строки запрещайте отдельно.
Читать ответИспользуйте conditional type: C extends true ? Then : Else. Ограничение C extends boolean задаёт допустимый параметр условия.
Читать ответПри исходном ['a','b'] после клика отображение станет ['b','a']. Но reverse сначала мутирует исходный state, и только затем spread создаёт новый массив.
Читать ответДля центрирования по двум осям задайте body высоту окна и display: grid с place-items: center. Уберите стандартный margin браузера.
Читать ответХраните текущий набор, скрытую цель и счёт. Успех добавляет 20 баллов и создаёт новый раунд, ошибка обнуляет счёт без перезагрузки.
Читать ответЗапрашивайте подсказки с небольшой задержкой после ввода, отменяйте предыдущий запрос и показывайте результаты через доступный список вариантов.
Читать ответБез Strict Mode первый commit печатает App, useLayoutEffect, useEffect 1, useEffect 2. Эффект с инкрементом затем вызывает ещё один рендер и перезапуск зависимых эффектов.
Читать ответНужно выводить currentTime и очищать интервал в эффекте. Key={id} уже корректен; сортировки в примере нет, порядок соответствует исходному массиву.
Читать ответИсправьте импорт хуков и JSX, переключайте started на противоположное значение, а жизненным циклом интервала управляйте одним эффектом с очисткой.
Читать ответБудут выведены Шаг 2, Шаг 4, Шаг 3, Шаг 1. Executor Promise вызывается синхронно, а обработчик then — после завершения текущего стека.
Читать ответ