Специализация
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 в телеграм
Что такое доступность (accessibility)?
Доступность (accessibility) — это практика создания веб-сайтов, которые могут использовать все пользователи, включая людей с ограниченными возможностями. Это включает улучшения, такие как использование правильных заголовков, текста для экранных читалок, цветовые контрасты и навигация с клавиатуры. Цель — обеспечить доступ к информации и функциональности всем пользователям, независимо от их возможностей.
Что такое ARIA (Accessible Rich Internet Applications), и как правильно использовать атрибуты ARIA для улучшения доступности?
ARIA (Accessible Rich Internet Applications) — это набор атрибутов, который помогает разработчикам улучшать доступность сложных веб-приложений для людей с ограниченными возможностями. Атрибуты ARIA могут быть добавлены к HTML-элементам, чтобы описать их роли, состояния и свойства для экранных читалок и других вспомогательных технологий. Например, атрибуты ARIA могут помочь определить, что элемент является кнопкой или заголовком, и предоставить информацию о его состоянии (например, "раскрыто" или "закрыто"). Правильное использование ARIA делает контент более понятным и доступным для всех пользователей.
Как вы понимаете Web Accessibility (веб-доступность) и почему она важна?
Web Accessibility (веб-доступность) означает, что веб-сайты и приложения должны быть доступны для использования людьми с различными ограничениями, такими как нарушения зрения, слуха или подвижности. Это важно, так как делает интернет доступным для всех пользователей, включая тех, кто использует специальные устройства, такие как экранные читалки.
Как на фронтенде реализуется авторизация? (Хранение access/refresh токенов в Cookies / LocalStorage, отправка токена в запросах, обновление токена)
Access token хранится в памяти или LocalStorage для доступа к API. Refresh token хранится в HttpOnly cookie для безопасного обновления. Токен автоматически добавляется в заголовки запросов и обновляется при истечении.
В чём разница между access token и refresh token?
Access token используется для доступа к API и имеет короткий срок жизни. Refresh token нужен для получения нового access token и живёт дольше. Access token отправляется часто, refresh token — редко. Потеря access token менее критична, чем утечка refresh token. Поэтому refresh token защищают строже.
Где рекомендуется хранить access token и refresh token и почему?
Как должен вести себя frontend при истечении срока действия access token?
Какой HTTP-статус код обычно возвращается при невалидном access token?
В какой момент access token должен добавляться в HTTP-запросы?
Как обычно реализуется добавление access token во все запросы?
Рейтинг:
5
Сложность:
8
Access token обычно хранится в памяти приложения или в JavaScript-переменной. Refresh token рекомендуется хранить в httpOnly cookies. Такое разделение снижает риск XSS-атак. Frontend не должен хранить оба токена в localStorage. Безопасность хранения напрямую влияет на устойчивость приложения.
Рейтинг:
5
Сложность:
7
При истечении access token frontend должен попытаться обновить его с помощью refresh token. Пользователь не должен замечать этот процесс. Если обновление прошло успешно, запрос повторяется. Если нет — пользователь разлогинивается. Такой сценарий обеспечивает плавный пользовательский опыт.
Рейтинг:
4
Сложность:
4
При невалидном access token backend обычно возвращает статус 401 Unauthorized. Это означает, что запрос не может быть выполнен без корректной аутентификации. Такой статус сообщает frontend о проблеме с токеном. Frontend может использовать его как сигнал для обновления access token. Это стандартное поведение в REST API.
Рейтинг:
4
Сложность:
5
Access token добавляется в HTTP-запросы перед их отправкой на сервер. Обычно он передаётся в заголовке Authorization. Токен должен присутствовать только в защищённых запросах. Его добавление должно быть централизованным, а не вручную в каждом вызове API.
Рейтинг:
5
Сложность:
6
Добавление access token обычно реализуется централизованно через обёртку над HTTP-клиентом. В случае Axios используются request interceptors. Для Fetch создаётся кастомная функция-обёртка. Это позволяет избежать дублирования кода и ошибок.
Рейтинг:
2
Сложность:
4
Рейтинг:
2
Сложность:
5
Рейтинг:
3
Сложность:
7
Рейтинг:
3
Сложность:
8
Рейтинг:
5
Сложность:
7