Специализация
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 в телеграм
Для чего используется тег <iframe>?
Тег <iframe> используется для встраивания на страницу содержимого с другого веб-ресурса, например, другого сайта, видео с YouTube или карты. Он создает окно внутри текущей страницы, где загружается внешний ресурс. <iframe> полезен для интеграции стороннего контента, сохраняя при этом основную структуру страницы.
Какие есть способы оптимизации загрузки изображений в HTML? Что такое форматы изображений WebP и AVIF?
Сжатие изображений
Адаптивные размеры
Ленивая загрузка
WebP: высокое сжатие и качество, поддерживает как растровые, так и анимированные изображения.
AVIF: еще более эффективное сжатие и лучшее качество по сравнению с WebP.
Что такое CORS (Cross-Origin Resource Sharing), и как он относится к встроенным элементам типа <iframe>, <img>, и <script>?
CORS — это механизм, который позволяет ограничить или разрешить обмен данными между разными доменами. Браузеры по умолчанию запрещают запросы к ресурсам с другого домена для обеспечения безопасности. Чтобы разрешить такие запросы, сервер должен отправить специальные заголовки. Элементы, такие как <iframe>, <img> и <script>, могут загружать ресурсы с других доменов, но для некоторых операций, например, доступа к содержимому <iframe> из другого домена, требуется поддержка CORS.
Что такое webmanifest и как он используется для создания Progressive Web Apps (PWA)?
Webmanifest — это файл в формате JSON, который используется для определения метаданных веб-приложения. Он позволяет настроить иконки приложения, название, тему и поведение при добавлении на главный экран устройства. В PWA webmanifest помогает сделать веб-приложение похожим на нативное мобильное приложение, улучшая пользовательский опыт.
Что такое IIFE и когда применяется?
IIFE (Immediately Invoked Function Expression) — это функция, которая выполняется сразу после того, как была объявлена. Это достигается оборачиванием функции в скобки и последующим вызовом. IIFE часто используется для создания изолированной области видимости, чтобы избежать конфликтов переменных в глобальном пространстве имен.
Что такое Сравнение (Diffing) и Патчинг?
Как работает flex-direction и как он влияет на justify-content и align-items?
Как реализовать глубокое копирование объекта без использования JSON.stringify и StructuredClone? Какие сложности могут возникнуть?
В чем разница между Object.assign и копированием через JSON.stringify / JSON.parse?
Какие проблемы есть у JSON.stringify при копировании объектов?
Рейтинг:
5
Сложность:
9
Сравнение (Diffing) — это процесс, при котором React сравнивает старое и новое представление виртуального DOM, чтобы определить, какие изменения необходимо внести в реальный DOM. Патчинг — это этап, на котором React вносит эти изменения, обновляя только те элементы, которые изменились, а не перерисовывая всё дерево компонентов.
Рейтинг:
2
Сложность:
7
flex-direction задает направление главной оси (row — горизонтально, column — вертикально).
justify-content выравнивает элементы по главной оси.
align-items выравнивает по поперечной оси.
Рейтинг:
1
Сложность:
9
Глубокое копирование можно реализовать с помощью рекурсивной функции, которая вручную создает новый объект или массив и копирует все его свойства. Для каждого свойства, если оно является объектом, функция вызывает сама себя. Основные сложности: обработка циклических ссылок (когда объект ссылается сам на себя), копирование специальных объектов (как Date, Map, Set) и поддержка различных типов данных.
Рейтинг:
4
Сложность:
5
Object.assign делает поверхностное копирование объекта.JSON.stringify / JSON.parse выполняет глубокое копирование, но с серьёзными ограничениями.
При использовании JSON теряются функции, undefined, Symbol и специальные типы данных.
Также JSON не умеет работать с циклическими ссылками.
Рейтинг:
4
Сложность:
6
JSON.stringify не умеет работать со всеми типами данных JavaScript.
Он удаляет функции, undefined, Symbol и методы объектов.
Также он не поддерживает циклические ссылки и специальные объекты вроде Date или Map.
Из-за этого результат копирования может отличаться от исходного объекта.
Рейтинг:
1
Сложность:
4
Рейтинг:
3
Сложность:
6
Рейтинг:
4
Сложность:
6
Рейтинг:
1
Сложность:
5
Рейтинг:
2
Сложность:
5