Специализация
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 в телеграм
Объясните разницу между последовательным и параллельным выполнением асинхронных функций. Как работают Promise.all() и Promise.allSettled()?
Последовательное выполнение асинхронных функций означает, что каждая следующая функция начинается только после завершения предыдущей, тогда как параллельное выполнение позволяет нескольким функциям выполняться одновременно.
Метод Promise.all() запускает несколько промисов параллельно и возвращает результат, когда все они успешно завершатся, а Promise.allSettled() возвращает результат независимо от того, завершился ли каждый промис успехом или ошибкой.
Как защитить данные в LocalStorage от стороннего JS?
Полностью защитить LocalStorage от чтения/изменения сторонним JS нельзя, так как он доступен в том же контексте. Можно уменьшить риски: хранить только нечувствительные данные, использовать шифрование или HttpOnly-куки для критичной информации.
Что такое Web Vitals?
Web Vitals — это набор ключевых метрик, которые Google использует для оценки скорости и удобства сайта. Основные из них:
LCP (Largest Contentful Paint) — время загрузки самого большого элемента.
FID (First Input Delay) — задержка перед реакцией на первое действие пользователя.
CLS (Cumulative Layout Shift) — неожиданные смещения элементов на странице.
Какие хранилища подходят для больших данных (LocalStorage, IndexedDB)?
Для больших объемов данных лучше использовать IndexedDB, так как оно поддерживает асинхронную работу и хранение структурированных объектов. LocalStorage подходит для небольших объемов (до ~5 МБ) и синхронных операций.
Как на фронтенде реализуется авторизация? (Хранение access/refresh токенов в Cookies / LocalStorage, отправка токена в запросах, обновление токена)
Access token хранится в памяти или LocalStorage для доступа к API. Refresh token хранится в HttpOnly cookie для безопасного обновления. Токен автоматически добавляется в заголовки запросов и обновляется при истечении.
Где хранить кэшированные данные? (LocalStorage, IndexedDB). Что делать, если IndexedDB не поддерживается?
Чем localStorage отличается от sessionStorage?
Что делает оператор ?? (nullish coalescing)?
Что такое template literals и зачем они нужны?
Что такое useSyncExternalStore и для чего он нужен?
Рейтинг:
3
Сложность:
7
Для кэширования данных используйте LocalStorage для небольших текстовых данных (до 5MB), IndexedDB для больших объемов и сложных структур. Если IndexedDB не поддерживается, можно использовать LocalStorage как fallback, либо реализовать полифилл для IndexedDB. Для совсем старых браузеров можно использовать cookies или серверное хранение.
Рейтинг:
5
Сложность:
4
localStorage и sessionStorage — это синхронные хранилища данных в браузере. Главное отличие — время жизни данных. localStorage сохраняет данные между перезагрузками и закрытием браузера. sessionStorage очищается при закрытии вкладки. Оба хранилища доступны только в рамках одного origin.
Рейтинг:
5
Сложность:
3
Оператор ?? возвращает правый операнд, только если левый равен null или undefined. Во всех остальных случаях возвращается левое значение. В отличие от ||, он не считает 0, false или пустую строку ошибочными значениями. Это делает ?? безопасным для задания значений по умолчанию.
Рейтинг:
4
Сложность:
3
Template literals — это строки в обратных кавычках (`), которые поддерживают интерполяцию выражений и многострочный текст. Они позволяют вставлять переменные и выражения прямо в строку через ${}. Это делает код короче и читабельнее по сравнению с конкатенацией. Также они удобны для HTML-шаблонов и логирования.
Рейтинг:
4
Сложность:
7
useSyncExternalStore — это хук React для безопасного подключения внешнего состояния к рендерингу. Он позволяет подписаться на внешний стор и гарантирует, что компонент всегда рендерится с актуальными данными. Этот хук решает проблемы, которые возникают при ручных подписках в условиях concurrent rendering и Strict Mode. Его используют как основу для state-менеджеров.
Рейтинг:
3
Сложность:
7
Рейтинг:
4
Сложность:
7
Рейтинг:
3
Сложность:
9
Рейтинг:
2
Сложность:
8
Рейтинг:
3
Сложность:
8