Специализация
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 в телеграм
Что такое microdata, и как она используется для структурирования данных на странице? В чем преимущества перед JSON-LD и RDFa?
Microdata — это формат, встроенный в HTML, который помогает структурировать данные на странице, чтобы поисковые системы и другие сервисы могли легко их распознать и интерпретировать. Используя атрибуты вроде itemprop и itemscope, разработчики могут описывать сущности, например, товары или статьи. В отличие от JSON-LD, который хранится отдельно от основного HTML-кода, microdata добавляется непосредственно в разметку страницы, что может быть проще для интеграции, но менее гибко для изменения. RDFa — это другая альтернатива, которая может интегрироваться с любыми HTML-элементами.
Что такое JSON, для чего его используют и какие методы есть?
JSON (JavaScript Object Notation) — это текстовый формат для представления данных в виде объектов и массивов. Он используется для обмена данными между клиентом и сервером. Для работы с JSON в JavaScript используются методы JSON.stringify() для преобразования объекта в строку и JSON.parse() для преобразования строки в объект.
Как реализовать глубокое копирование объекта без использования JSON.stringify и StructuredClone? Какие сложности могут возникнуть?
Глубокое копирование можно реализовать с помощью рекурсивной функции, которая вручную создает новый объект или массив и копирует все его свойства. Для каждого свойства, если оно является объектом, функция вызывает сама себя. Основные сложности: обработка циклических ссылок (когда объект ссылается сам на себя), копирование специальных объектов (как Date, Map, Set) и поддержка различных типов данных.
В чем разница между Object.assign и копированием через JSON.stringify / JSON.parse?
Object.assign делает поверхностное копирование объекта.JSON.stringify / JSON.parse выполняет глубокое копирование, но с серьёзными ограничениями.
При использовании JSON теряются функции, undefined, Symbol и специальные типы данных.
Также JSON не умеет работать с циклическими ссылками.
Какие проблемы есть у JSON.stringify при копировании объектов?
JSON.stringify не умеет работать со всеми типами данных JavaScript.
Он удаляет функции, undefined, Symbol и методы объектов.
Также он не поддерживает циклические ссылки и специальные объекты вроде Date или Map.
Из-за этого результат копирования может отличаться от исходного объекта.
Что такое structuredClone и чем он отличается от JSON.stringify?
Почему некоторые типы данных теряются при сериализации в JSON?
Как JSON конвертировать в CSV?
Для чего нужен package.json в JavaScript-проекте?
Чем отличается package.json от package-lock.json?
Рейтинг:
3
Сложность:
7
structuredClone — это встроенный API для глубокого копирования объектов.
Он корректно копирует многие типы данных, которые не поддерживает JSON.stringify.structuredClone умеет работать с циклическими ссылками.
При этом он сохраняет структуру данных без преобразования в строку.
Рейтинг:
4
Сложность:
6
JSON поддерживает ограниченный набор типов данных. При сериализации функции, undefined и символы теряются. Некоторые типы преобразуются в строки или игнорируются. Это связано с тем, что JSON предназначен для передачи данных, а не логики.
Рейтинг:
3
Сложность:
5
Для конвертации JSON в CSV можно использовать следующие шаги:
Преобразовать JSON в массив объектов.
Извлечь ключи объектов как заголовки.
Преобразовать данные в строку CSV, разделенную запятыми.
Рейтинг:
5
Сложность:
3
package.json описывает проект и его зависимости. В нём хранятся имена библиотек, версии, скрипты и метаданные проекта. Этот файл используется менеджерами пакетов для установки зависимостей. Он определяет, как проект собирается и запускается. Без него невозможна стандартная работа с npm или yarn.
Рейтинг:
5
Сложность:
4
package.json описывает зависимости и допустимые диапазоны их версий. package-lock.json фиксирует конкретные версии установленных пакетов и их дерево зависимостей. package.json нужен для описания проекта, а package-lock.json — для воспроизводимых установок. Они дополняют друг друга. Вместе они обеспечивают стабильность окружения.
Рейтинг:
1
Сложность:
7
Рейтинг:
3
Сложность:
4
Рейтинг:
1
Сложность:
9
Рейтинг:
4
Сложность:
5
Рейтинг:
4
Сложность:
6