Создание интерактивного счётчика в React‑приложении
Добавьте state счётчика, onClick для увеличения и onDoubleClick для сброса. Двойной клик сначала порождает обычные click-события, поэтому перед сбросом возможны краткие увеличения.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Добавьте state счётчика, onClick для увеличения и onDoubleClick для сброса. Двойной клик сначала порождает обычные click-события, поэтому перед сбросом возможны краткие увеличения.
Читать ответDebounce перезапускает таймер при каждом вызове и выполняет функцию после 300 мс тишины. Это не throttle: при непрерывном вводе вызов может откладываться неограниченно.
Читать ответajax() возвращает Promise, который разрешается разреженным массивом длиной 82. Заполнены только индексы 0, 1, 4, 9, 16, 25, 36, 49, 64 и 81.
Читать ответЕсли нужна именно одна исходная функция на всё время жизни экземпляра, сохраните её в useRef. Но она сохранит замыкание первого рендера и не начнёт автоматически видеть новые props/state.
Читать ответВыделите компонент Greeting с пропом name и используйте его вместо фиксированного h1. Переданный текст становится частью JSX без ручной конкатенации HTML.
Читать ответПреобразуйте элементы в пары [name, value] и передайте их Object.fromEntries. Получится новый объект без изменения исходного массива.
Читать ответКоличество плиток равно ceil(width / side) × ceil(height / side). Каждое направление округляется отдельно вверх, поскольку плитки нельзя резать.
Читать ответfetchUser нельзя запускать прямо во время render, если он асинхронный. Перенесите загрузку в эффект по userId, храните loading/data/error и игнорируйте устаревшие ответы.
Читать ответУдалите дубликаты, отсортируйте числа и объедините соседние значения, отличающиеся на единицу. Каждый завершённый участок превращается в число либо диапазон.
Читать ответСделайте контейнер flex, label — несжимаемым по содержимому, input — растягиваемым с min-width: 0. Последнее позволяет полю действительно ужиматься в узком контейнере.
Читать ответПройдите people один раз, рассматривая только age < limitAge, и сохраните подходящего сотрудника с максимальной salary. При отсутствии кандидатов верните null.
Читать ответВ строгом режиме возникнет TypeError при чтении this.currentFilter внутри callback. В нестрогом окружении без глобального currentFilter результат будет пустым массивом.
Читать ответ