Создатель последовательных идентификаторов
Замкните счётчик и возвращайте его текущее значение с последующим увеличением. Тогда вызовы id() последовательно дадут 0, 1, 2 и далее.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Замкните счётчик и возвращайте его текущее значение с последующим увеличением. Тогда вызовы id() последовательно дадут 0, 1, 2 и далее.
Читать ответref.current сохраняет первоначальный экземпляр, но new MyClass(...) вычисляется при каждом вызове компонента. Поэтому конструктор снова логирует новое время, а ref продолжает хранить старое.
Читать ответЕсли useForceUpdate действительно обновляет состояние App, без мемоизации перерендерятся App, Parent, Child и все три RenderCount. Повторный рендер не означает замену всех DOM-узлов.
Читать ответХраните направление и введённую сумму, второе поле вычисляйте из них. При переключении используйте прежний результат как новую исходную сумму и применяйте курс обратного направления.
Читать ответИспользуйте явный стек кадров обхода вместо рекурсии: он не переполнит стек вызовов на тысяче уровней. Объекты и прочие значения сохраняйте как элементы.
Читать ответСоздайте новый массив через spread: [...firstArray, ...secondArray]. Порядок и повторяющиеся элементы сохранятся, оба исходных массива останутся неизменными.
Читать ответСохраните сигнатуру callback и thisArg, используйте this как исходную коллекцию и записывайте результаты по индексам. Не вызывайте callback для отсутствующих элементов.
Читать ответИмя useIncrement соответствует соглашению о хуках, но React не создаёт состояние из-за названия функции. Здесь это обычное вычисление: при каждом рендере count равен 1.
Читать ответОбёртка увеличивает счётчик, сохраняет аргументы, вызывает исходную функцию с тем же this и записывает возвращённое значение. Результат передаётся вызывающему без изменений.
Читать ответФункция первого вызова принимает первое число и возвращает функцию для второго. Второй вызов завершает вычисление и возвращает сумму двух чисел.
Читать ответСкладывайте открывающие скобки в стек. Закрывающая должна соответствовать последней открытой; после обхода стек обязан быть пустым.
Читать ответОбычная функция внутри filter не наследует this сервиса. Замените её стрелкой или передайте this вторым аргументом filter; используйте строгое сравнение статуса.
Читать ответ