Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Есть ли у стрелочной функции методы call, apply и bind?
Стрелочные функции могут использовать методы call, apply и bind, но эти методы не изменяют контекст this внутри стрелочной функции. В отличие от обычных функций, стрелочные функции наследуют значение this из своей внешней области видимости (лексический контекст), и методы call, apply и bind не могут его изменить.
Методы call, apply, bind — для чего они нужны?
Методы call и apply позволяют вызвать функцию с заданным значением this, но call передаёт аргументы через запятую, а apply — в виде массива. Метод bind возвращает новую функцию с фиксированным значением this, которая может быть вызвана позже. Эти методы полезны для контроля контекста выполнения функции, особенно при работе с методами объектов.
Для чего нужны callback и что такое Callback Hell?
Колбэк (callback) — это функция, которая передается другой функции в качестве аргумента и вызывается позже, когда произойдет какое-то событие или завершится операция. Проблема "Callback Hell" возникает, когда функции начинают вкладываться друг в друга слишком глубоко, что делает код трудночитаемым и сложным для поддержки.
Отличие useMemo от useCallback.
useMemo и useCallback оба предназначены для оптимизации производительности в React, но служат разным целям. useMemo запоминает вычисленные значения, а useCallback запоминает функции. Это позволяет избежать лишних вычислений и создания функций при каждом рендере компонента.
Для чего нужны useMemo и useCallback? Как работает мемоизация?
useMemo: Кэширует результат вычислений, пересчитывая только при изменении зависимостей.
useCallback: Кэширует функцию, предотвращая её пересоздание.
Оба помогают избежать лишних ререндеров.
Что такое call stack?
Гарантирует ли setTimeout выполнение callback ровно через заданное время?
В чем разница между useMemo и useCallback?
Какие есть издержки у чрезмерного использования useMemo и useCallback?
Чем отличается передача значения и callback в setState?
Рейтинг:
5
Сложность:
5
Call stack — это структура данных, которая хранит информацию о вызовах функций. JavaScript добавляет функции в стек при вызове и удаляет их после завершения. Код выполняется строго сверху вниз, по принципу LIFO. Call stack помогает отслеживать, какая функция выполняется в данный момент. Переполнение стека приводит к ошибке.
Рейтинг:
5
Сложность:
6
setTimeout не гарантирует выполнение callback ровно через указанное время. Он гарантирует, что callback не выполнится раньше, чем пройдёт заданная задержка. После истечения задержки callback попадает в очередь задач и будет выполнен, когда освободится call stack. На фактическое время влияет нагрузка, блокировки и приоритеты очередей. Поэтому таймер часто срабатывает позже.
Рейтинг:
5
Сложность:
7
useMemo мемоизирует вычисляемое значение.useCallback мемоизирует функцию.
Оба хука зависят от массива зависимостей.
Они используются для оптимизации перерендеров.
Рейтинг:
5
Сложность:
6
useMemo и useCallback сами по себе имеют стоимость. Они усложняют код и увеличивают когнитивную нагрузку. При неправильном использовании они не дают выигрыша в производительности. Иногда они даже замедляют приложение. Эти хуки нужно применять осознанно и точечно.
Рейтинг:
5
Сложность:
5
Передача значения в setState напрямую подставляет новое состояние, а callback (функция-обновитель) вычисляет его на основе предыдущего. Callback гарантирует корректность при нескольких обновлениях подряд. Это особенно важно при асинхронных событиях и батчинге обновлений. В React hooks callback — это предпочтительный способ при зависимостях от старого состояния.
Рейтинг:
3
Сложность:
5
Рейтинг:
4
Сложность:
6
Рейтинг:
5
Сложность:
6
Рейтинг:
5
Сложность:
7
Рейтинг:
2
Сложность:
7