Определение глубины вложенности DOM‑дерева
Задайте глубину корня как 0 и найдите максимальную глубину обходом дочерних узлов. Важно различать element.children и childNodes: второй вариант включает текст и комментарии.
Читать ответПодготовка к интервью
1745 вопросов для подготовки на позицию Frontend-разработчик
Что проверяют на интервью
Подборка помогает системно подготовиться к интервью на позицию Frontend-разработчик: проверить теорию, потренировать практические задачи и объяснение решений. В подборке чаще встречаются темы: frontend, browser, react.
Каталог
Задайте глубину корня как 0 и найдите максимальную глубину обходом дочерних узлов. Важно различать element.children и childNodes: второй вариант включает текст и комментарии.
Читать ответСначала восстановите TSX, затем мемоизируйте fibonacci(number) и разделите часто меняющиеся данные контекста. React.memo не блокирует обновление потребителя изменившегося context.
Читать ответВ Node.js используйте встроенный модуль node:http. createServer получает обработчик запроса, а response.end отправляет текст и завершает ответ.
Читать ответПо показанным inline-правилам цвет будет salmon: .child:first-child имеет специфичность (0,2,0), выше остальных подходящих селекторов. Но неизвестный style.css может изменить итог.
Читать ответХраните массив пользователей и выбранного пользователя в state. Email сделайте кнопкой, а dialog открывайте через showModal после установки выбранных данных; адрес включайте вместе с вложенным geo.
Читать ответuseCallback с [] сохраняет первый btnClick, который замкнул count=0, поэтому каждый клик задаёт 1. Второй обработчик отдельно мутирует объект state и передаёт прежнюю ссылку.
Читать ответreverse мутирует state и возвращает ту же ссылку; key={index} привязывает состояние Item к позиции. Разворачивайте копию и используйте item.id, одновременно исправив JSX.
Читать ответВывод будет undefined и 'b'. Оба объекта-ключа преобразуются в одинаковую строку '[object Object]', поэтому вторая запись перезаписывает первую.
Читать ответХраните дату, ошибку, ширину и счётчик раздельно. Начальный серверный и клиентский render должны совпадать; window и загрузку подключайте после монтирования.
Читать ответДля увеличения используйте setCurrent(value => value + 1), чтобы не зависеть от захваченного current. Для лога последнего committed значения храните его отдельно в ref.
Читать ответДобавьте state счётчика, onClick для увеличения и onDoubleClick для сброса. Двойной клик сначала порождает обычные click-события, поэтому перед сбросом возможны краткие увеличения.
Читать ответВыделите компонент Greeting с пропом name и используйте его вместо фиксированного h1. Переданный текст становится частью JSX без ручной конкатенации HTML.
Читать ответ