- Можете ли вы объяснить назначение каждого типа 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, показанного выше.