Специализация
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 в телеграм
Является ли Express JS frontend или backend фреймворком?
Express.js — это backend-фреймворк. Он предназначен для создания серверной части приложений и API, обеспечивая обработку запросов, маршрутизацию и взаимодействие с базами данных.
Работал ли с Module Federation?
Module Federation — это технология, встроенная в Webpack 5, которая позволяет нескольким независимым JavaScript-приложениям динамически импортировать код друг у друга во время выполнения. Это основа для архитектуры Micro Frontends. Она позволяет разбить одно большое приложение (монолит) на более мелкие, автономные части, которые могут разрабатываться, развертываться и обновляться независимо друг от друга, но при этом работать как единое целое в браузере пользователя.
Что такое Backend for Frontend (BFF)?
Backend for Frontend — это отдельный backend для конкретного типа клиента.
Каждый клиент получает API, адаптированный под свои потребности.
BFF упрощает клиентский код и снижает количество запросов.
Он часто используется вместе с API Gateway.
Подход повышает гибкость системы.
Что такое Monorepo и какие задачи он решает во frontend-разработке?
Monorepo — это подход, при котором несколько проектов или пакетов хранятся в одном репозитории. Такой подход упрощает совместное использование кода, синхронизацию зависимостей и поддержку единых стандартов. Он часто применяется в больших командах и экосистемах с несколькими frontend-приложениями. Monorepo помогает снизить дублирование кода и упростить рефакторинг. При этом требует более сложных инструментов для сборки и управления зависимостями.
Какие инструменты используются для работы с Monorepo во frontend?
Для работы с Monorepo используют специальные инструменты, которые помогают управлять зависимостями, сборкой и запуском проектов. Самые популярные из них — Nx, Turborepo и Lerna. Также часто применяются Yarn Workspaces или pnpm Workspaces. Эти инструменты позволяют оптимизировать сборку и упростить разработку в больших репозиториях.
Что такое JWT-авторизация и как она работает?
Какие токены используются в JWT-авторизации?
Где рекомендуется хранить access token и refresh token и почему?
Почему refresh token часто хранят в httpOnly cookies?
Как должен вести себя frontend при истечении срока действия access token?
Рейтинг:
5
Сложность:
7
JWT-авторизация — это способ аутентификации, при котором сервер выдает клиенту токен после входа. Этот токен содержит информацию о пользователе и подписывается сервером. Frontend отправляет JWT с каждым запросом к защищённым API. Сервер проверяет подпись токена и принимает решение о доступе. Такой подход не требует хранения сессий на сервере.
Рейтинг:
5
Сложность:
6
В JWT-авторизации обычно используются два типа токенов: access token и refresh token. Access token применяется для доступа к защищённым API. Refresh token используется для получения нового access token, когда старый истёк. Такой подход повышает безопасность и удобство работы пользователя. Frontend работает с обоими токенами, но по разным правилам.
Рейтинг:
5
Сложность:
8
Access token обычно хранится в памяти приложения или в JavaScript-переменной. Refresh token рекомендуется хранить в httpOnly cookies. Такое разделение снижает риск XSS-атак. Frontend не должен хранить оба токена в localStorage. Безопасность хранения напрямую влияет на устойчивость приложения.
Рейтинг:
5
Сложность:
8
Refresh token часто хранят в httpOnly cookies, потому что такие cookies недоступны из JavaScript. Это защищает токен от XSS-атак. Браузер автоматически отправляет cookie с запросами к серверу. Такой подход снижает риск кражи токена через вредоносный скрипт. Это считается best practice для SPA.
Рейтинг:
5
Сложность:
7
При истечении access token frontend должен попытаться обновить его с помощью refresh token. Пользователь не должен замечать этот процесс. Если обновление прошло успешно, запрос повторяется. Если нет — пользователь разлогинивается. Такой сценарий обеспечивает плавный пользовательский опыт.
Рейтинг:
1
Сложность:
1
Рейтинг:
2
Сложность:
6
Рейтинг:
4
Сложность:
6
Рейтинг:
5
Сложность:
6
Рейтинг:
4
Сложность:
5