Специализация
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 в телеграм
Как работают Content Security Policy (CSP) заголовки и атрибуты вроде integrity в теге <script>?
Content Security Policy (CSP) — это механизм безопасности, который помогает предотвратить различные типы атак, такие как XSS (Cross-Site Scripting), ограничивая, какие ресурсы могут загружаться на странице. Заголовок CSP определяет, откуда разрешено загружать скрипты, стили и другие ресурсы.
Атрибут integrity в теге <script> используется для проверки целостности загружаемого скрипта, чтобы убедиться, что он не был изменен. Если хэш скрипта не совпадает с указанным значением, браузер отклонит его загрузку.
Что такое тип данных Symbol и где его можно применить на практике?
Symbol — это уникальный и неизменяемый тип данных, который используется как идентификатор для свойств объектов. Каждое значение Symbol гарантированно уникально, даже если их значения совпадают. На практике Symbol применяется для создания уникальных ключей объектов, которые не будут конфликтовать с другими свойствами, что полезно для защиты данных от перезаписи.
Что такое AbortController и как он используется в JavaScript для отмены асинхронных операций?
AbortController — это встроенный объект в JavaScript, который позволяет отменять асинхронные операции, такие как запросы через fetch. Он работает вместе с AbortSignal, который передаётся в асинхронную операцию. Если вы вызываете метод abort() у контроллера, операция прерывается, и её результат больше не будет обработан.
Как реализовать Content Security Policy (CSP) для защиты веб-приложений на JavaScript?
Content Security Policy (CSP) — это механизм безопасности, который позволяет разработчикам контролировать, какие ресурсы могут быть загружены и выполнены на веб-странице. CSP реализуется с помощью HTTP-заголовка Content-Security-Policy, где можно указать разрешенные источники скриптов, стилей и других ресурсов. Это помогает предотвратить загрузку вредоносного контента и снижает риск атак типа XSS.
Чтобы внедрить CSP, достаточно добавить соответствующий заголовок на сервер или в мета-тег на странице.
Как работает сборщик мусора (garbage collector) в JavaScript? Какие есть стратегии для управления памятью?
Сборщик мусора в JavaScript автоматически освобождает память, удаляя объекты, на которые больше нет ссылок. Основной механизм — это "сборка по достижению" (mark-and-sweep), где объекты помечаются как достижимые или нет. Оптимизация работы с памятью заключается в том, чтобы избегать удержания ненужных ссылок на объекты и помнить о замыканиях, которые могут сохранять данные в памяти дольше, чем требуется.
Чем отличается controlled от uncontrolled компонентов?
Что такое createAsyncThunk и как его использовать?
Что такое createReducer и как его использовать?
Как использовать createSlice и какие преимущества он предоставляет?
Что такое Redux Toolkit и зачем он нужен?
Рейтинг:
5
Сложность:
5
В React можно выделить 4 разновидности контролируемых и неконтролируемых сущностей:
Контролируемый компонент (родителем) – родитель управляет состоянием дочернего через props.
Неконтролируемый компонент (родителем) – компонент сам управляет своим состоянием (через useState или useRef).
Контролируемый элемент формы – значение элемента хранится в state, а изменения отслеживаются через onChange.
Неконтролируемый элемент формы – значение хранится напрямую в DOM (обычно через ref).
Рейтинг:
2
Сложность:
5
createAsyncThunk — это утилита из Redux Toolkit для работы с асинхронными действиями. Она помогает создавать асинхронные экшены, автоматически генерируя три состояния: ожидание, успех и ошибка. Вы описываете асинхронную функцию, а Redux Toolkit автоматически управляет состоянием загрузки и ошибок, обновляя store на основе результата выполнения действия.
Рейтинг:
1
Сложность:
3
createReducer — это функция из Redux Toolkit, которая помогает создавать редьюсеры без необходимости вручную определять типы действий. Она принимает объект с состоянием и действиями, и каждый редьюсер обновляет состояние в зависимости от типа действия. Это позволяет писать редьюсеры более компактно и эффективно.
Рейтинг:
1
Сложность:
3
createSlice — это утилита из Redux Toolkit, которая позволяет объединить редьюсеры и действия в одном объекте. Это упрощает создание редьюсеров, избавляет от необходимости вручную писать типы действий и улучшает читаемость кода. В ответах к этим действиям создаются автоматические генераторы действий и редьюсеров.
Рейтинг:
3
Сложность:
3
Redux Toolkit — это официальная библиотека от разработчиков Redux, которая упрощает настройку хранилища, создание редьюсеров и действий. Она устраняет повторяющийся код и предоставляет инструменты для работы с асинхронными операциями. Это рекомендуемый способ использования Redux в современных приложениях.
Рейтинг:
3
Сложность:
6
Рейтинг:
2
Сложность:
6
Рейтинг:
5
Сложность:
8
Рейтинг:
3
Сложность:
7
Рейтинг:
3
Сложность:
8