Специализация
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 в телеграм
Как защитить данные в LocalStorage от стороннего JS?
Полностью защитить LocalStorage от чтения/изменения сторонним JS нельзя, так как он доступен в том же контексте. Можно уменьшить риски: хранить только нечувствительные данные, использовать шифрование или HttpOnly-куки для критичной информации.
Какую роль выполняет метод CompositionLocal в Jetpack Compose?
CompositionLocal позволяет передавать значения (напр. тема, пользователь) по дереву Composable без параметров.
Как ThreadLocal используется для передачи параметров, привязанных к потоку?
ThreadLocal позволяет хранить данные, которые доступны только внутри одного потока. Это полезно для передачи контекста (например, ID пользователя) без явной передачи параметров.
Что такое ThreadLocal? Практический пример использования.
ThreadLocal позволяет хранить данные, которые доступны только одному потоку. Пример: хранение идентификатора пользователя в веб-запросе.
Какие хранилища подходят для больших данных (LocalStorage, IndexedDB)?
Для больших объемов данных лучше использовать IndexedDB, так как оно поддерживает асинхронную работу и хранение структурированных объектов. LocalStorage подходит для небольших объемов (до ~5 МБ) и синхронных операций.
Как на фронтенде реализуется авторизация? (Хранение access/refresh токенов в Cookies / LocalStorage, отправка токена в запросах, обновление токена)
Где хранить кэшированные данные? (LocalStorage, IndexedDB). Что делать, если IndexedDB не поддерживается?
Что такое ThreadLocal и как он работает?
В каких случаях имеет смысл использовать ThreadLocal?
Чем localStorage отличается от sessionStorage?
Рейтинг:
3
Сложность:
8
Access token хранится в памяти или LocalStorage для доступа к API. Refresh token хранится в HttpOnly cookie для безопасного обновления. Токен автоматически добавляется в заголовки запросов и обновляется при истечении.
Рейтинг:
3
Сложность:
7
Для кэширования данных используйте LocalStorage для небольших текстовых данных (до 5MB), IndexedDB для больших объемов и сложных структур. Если IndexedDB не поддерживается, можно использовать LocalStorage как fallback, либо реализовать полифилл для IndexedDB. Для совсем старых браузеров можно использовать cookies или серверное хранение.
Рейтинг:
5
Сложность:
7
ThreadLocal позволяет хранить данные, привязанные к конкретному потоку.
Каждый поток видит своё собственное значение.
Значения не разделяются между потоками.
Это достигается через внутреннюю структуру данных внутри Thread.
Часто используется для контекста выполнения.
Рейтинг:
4
Сложность:
6
ThreadLocal имеет смысл использовать, когда данные должны быть доступны в рамках одного потока.
При этом данные не должны передаваться между потоками.
Это позволяет избежать синхронизации.
Часто применяется для контекста выполнения.
Использовать его стоит осторожно.
Рейтинг:
5
Сложность:
4
localStorage и sessionStorage — это синхронные хранилища данных в браузере. Главное отличие — время жизни данных. localStorage сохраняет данные между перезагрузками и закрытием браузера. sessionStorage очищается при закрытии вкладки. Оба хранилища доступны только в рамках одного origin.
Рейтинг:
4
Сложность:
7
Рейтинг:
2
Сложность:
5
Рейтинг:
2
Сложность:
6
Рейтинг:
1
Сложность:
6
Рейтинг:
2
Сложность:
8