Специализация
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 в телеграм
Что такое замыкания в JavaScript и почему они важны?
Замыкание — это функция, которая "запоминает" свою область видимости даже после того, как внешняя функция, в которой она была объявлена, завершила выполнение. Замыкания позволяют создавать функции с доступом к переменным из внешней функции, что полезно для работы с приватными данными и сохранения состояния между вызовами функции.
Что такое имутабельность и мутабильность?
Имутабельность означает, что объект или значение не могут быть изменены после создания. Мутабильность, наоборот, позволяет изменять данные. В JavaScript примитивные типы данных (например, строки, числа) неизменяемы, а объекты и массивы могут быть изменены. Имутабельные структуры данных позволяют избегать неожиданных изменений и делают программы более предсказуемыми.
Каковы различия между классовыми и функциональными компонентами в React?
Классовые компоненты используют синтаксис классов и имеют методы для работы с состоянием и жизненными циклами. Функциональные компоненты — это простые функции, которые возвращают JSX. Раньше функциональные компоненты не могли иметь состояния, но с появлением хуков в React они получили эту возможность. Теперь функциональные компоненты чаще используются благодаря более простому синтаксису и гибкости.
Какие есть жизненные циклы в React?
Жизненные циклы компонентов в React — это методы, которые позволяют вам управлять поведением компонента на разных этапах его "жизни". Основные этапы — это монтирование (компонент создается), обновление (компонент изменяется) и размонтирование (компонент удаляется).
Как управлять состоянием в React?
В React управление состоянием происходит через использование хуков, таких как useState для функциональных компонентов и this.state для классовых. Состояние позволяет компонентам хранить и обновлять данные, которые влияют на отображение. Хук useEffect также используется для управления побочными эффектами, связанными с состоянием.
Чем отличается controlled от uncontrolled компонентов?
Как создать глобальное состояние с помощью Context API?
Какова цель библиотеки Redux и как она работает с React?
Каковы преимущества использования Redux по сравнению с локальным состоянием компонентов?
Что такое нормализация данных в Redux? Почему это важно?
Рейтинг:
5
Сложность:
5
В React можно выделить 4 разновидности контролируемых и неконтролируемых сущностей:
Контролируемый компонент (родителем) – родитель управляет состоянием дочернего через props.
Неконтролируемый компонент (родителем) – компонент сам управляет своим состоянием (через useState или useRef).
Контролируемый элемент формы – значение элемента хранится в state, а изменения отслеживаются через onChange.
Неконтролируемый элемент формы – значение хранится напрямую в DOM (обычно через ref).
Рейтинг:
2
Сложность:
3
Context API — это способ передачи данных через дерево компонентов без необходимости передавать их через пропсы на каждом уровне. Для создания глобального состояния вы создаете контекст с помощью React.createContext(), оборачиваете ваши компоненты в провайдер, а затем используете useContext для доступа к данным в любом дочернем компоненте.
Рейтинг:
3
Сложность:
3
Redux помогает управлять состоянием приложения, храня его в одном месте (глобальном хранилище). Он работает с React через контекст и провайдеры, предоставляя компонентам доступ к общему состоянию. React-Redux упрощает использование Redux в React, предоставляя хуки, такие как useSelector и useDispatch.
Рейтинг:
3
Сложность:
3
Redux удобен для работы с глобальным состоянием в больших приложениях, где данные должны быть доступны в разных частях дерева компонентов. Он упрощает управление состоянием, устраняет "пробрасывание пропсов" и делает изменения предсказуемыми. Локальное состояние компонентов проще, но его сложно масштабировать, если данные нужны в нескольких местах приложения.
Рейтинг:
3
Сложность:
8
Нормализация данных в Redux — это процесс преобразования сложных и вложенных структур данных в более плоскую форму, где каждое значение хранится по уникальному идентификатору. Это важно, потому что облегчает извлечение данных, минимизирует дублирование и позволяет обновлять данные более эффективно. Например, вместо хранения массива объектов с одинаковыми свойствами, можно использовать объект, где ключи — это уникальные идентификаторы.
Рейтинг:
4
Сложность:
5
Рейтинг:
3
Сложность:
6
Рейтинг:
2
Сложность:
4
Рейтинг:
5
Сложность:
6
Рейтинг:
2
Сложность:
2