• Можете ли вы объяснить назначение каждого типа HTTP-запроса при использовании веб-службы RESTful?

Глагол HTTP в системе RESTful обычно используется следующим образом.

POST: создать новый экземпляр ресурса. Обычно возвращается идентификатор, представляющий уникальный идентификатор созданного ресурса.

GET: получить указанный ресурс, обычно по идентификатору.

PUT: обновить или заменить определенный ресурс, как правило, по идентификатору.

DELETE: используется для удаления или пометки ресурса как неактивного, обычно по идентификатору.

ВАРИАНТЫ: это чаще всего используется для ваших предварительных запросов на серверный/клиентский контент, а иногда используется для установки различных etags и подготовки кэширования.

PATCH: вероятно, глагол аренды используется в системе HTTP API. Используется для обновления или изменения ресурса, однако из-за того, что метод PUT настроен именно для этого, он предпочтительнее, чем Patch, поскольку часто считается более безопасным в большинстве архитектурных последовательностей.

  • Что такое тестовая пирамида? Как вы можете реализовать это, говоря о HTTP API?

По сути, это теория или концепция, которая используется для визуального описания количества различных типов тестов. Типы тестов сортируются таким образом, чтобы в основе лежал тип теста самого высокого качества. Двигаясь выше по пирамиде, на каждом рычаге представлен тип с меньшим количеством тестов.

И мы могли бы использовать этот тип концепции, когда мы тестируем крайние случаи. Нам нужно начать с модульных тестов, а затем компонентные тесты, модульные тесты, системные тесты, и, наконец, последние 5–7% должны быть зарезервированы для исследовательских случаев или крайних случаев, когда вы пытаетесь активно взломать код.

  • Что такое «демультиплексор»?

По сути, это переключатель, предназначенный для использования комбинационной логики для переключения одной общей входной линии на одну из нескольких отдельных выходных линий. Это цифровой декодер.

  • В чем разница между «блокирующими» и «неблокирующими» функциями?

Блокирующие функции относятся к функциональным операциям, которые требуют дальнейшего выполнения до тех пор, пока не будут запущены кишки, если хотите, внутри функции, и блокирует вас от перехода к остальной части кода до того, как вы это сделаете. Без блокировки этого не происходит, и код будет работать без каких-либо блокировок.

  • Каковы основные реализации безопасности в NodeJS?

Ограничение размера запросов во избежание DOS-атак. Настройте флаги cookie для управления сеансом, проверьте ввод данных пользователем для ограничения XSS-атак. Обеспечьте безопасную десериализацию для предотвращения атак CSRF. Выполнение контроля доступа для каждого запроса и использование соответствующих заголовков безопасности.

  • Объясните модуль «путь» в NodeJS.

Модуль node:path предоставляет утилиты для работы с путями к файлам и каталогам. Доступ к ИТ можно получить, используя [const path = require('node:path');]. Но это также основной модуль в узле, поэтому вам не нужно устанавливать зависимости для пути const, показанного выше.