1. Можете ли вы объяснить назначение каждого типа HTTP-запроса при использовании веб-службы RESTful? Веб-службы RESTful в значительной степени полагаются на HTTP по своей структуре. Они используют различные методы HTTP для выполнения своей работы и используют код ответа HTTP, чтобы информировать клиентов об успешном или неудачном выполнении определенного запроса. REST означает передачу репрезентативного состояния и использует HTTP, чтобы позволить двум системам взаимодействовать через удаленные вызовы.
  2. Что такое тестовая пирамида? Как вы можете реализовать это, говоря о HTTP API? Тестовая пирамида — это концепция, разработанная Майком Коном. Важным моментом является то, что у вас должно быть гораздо больше низкоуровневых модульных тестов, чем высокоуровневых сквозных тестов, выполняемых через графический интерфейс. Тестовая пирамида обеспечивает графическое представление наилучшего сценария тестирования, когда у вас есть большое количество низкоуровневых модульных тестов (около 70%) и сравнительно мало высокоуровневых сквозных системных тестов (около 10%). промежуточный слой интеграционных тестов, зажатых между ними, который в сумме составляет около 20%. Тестовая пирамида описывает, что при написании тестовых примеров должно быть гораздо больше низкоуровневых модульных тестов, чем высокоуровневых сквозных тестов. Говоря об HTTP API, все может сводиться к следующему:
  • множество низкоуровневых модульных тестов для ваших моделей
  • меньше интеграционных тестов, где вы тестируете, как ваши модели взаимодействуют друг с другом
  • намного меньше приемочных тестов, когда вы тестируете фактические конечные точки HTTP.

3. Что такое демультиплексор? Демультиплексор — это распределитель данных, читаемый как DEMUX. Это полная противоположность мультиплексору или MUX. Это процесс получения информации от одного входа и передачи через один из многих выходов. В этой статье объясняются различные типы демультиплексоров.

4. В чем разница между «блокирующими» и «неблокирующими» функциями?Блокирующий вызов ожидает завершения операции ввода-вывода перед возвратом. Его результаты возвращаются синхронно. Ничего другого в этом процессе не происходит во время ожидания. Напротив, неблокирующий вызов немедленно возвращается без результатов и использует альтернативные средства для проверки завершения. Другая обработка может выполняться во время ожидания, и результаты возвращаются асинхронно. Библиотеки Node.js и основные API предоставляют неблокирующие вызовы, которые можно использовать для создания производительных приложений. Такие приложения используют время ожидания ввода-вывода для обслуживания других запросов.

5. Каковы основные реализации безопасности в Node JS?Вы можете ограничить одновременные запросы с помощью промежуточного программного обеспечения. Извлекайте секреты из файлов конфигурации или используйте пакеты для их шифрования! Кроме того, предотвратите уязвимости внедрения запросов с помощью библиотек ORM/ODM. Вот некоторые из них, которые мне действительно помогли! Вы также можете избежать DOS-атак, явно указав, когда процесс должен аварийно завершать работу.

6. Объясните модуль «Путь» в Node.JS? Путь — это имя подключаемого модуля, оно хранится в пути переменной (var path). Можно даже использовать const вместо var. Кроме того, мы могли бы использовать любое другое имя (слева от =) вместо пути, но общепринято использовать то же имя, что и имя модуля.