165 просмотров
От 12 октября 2023

Разбор вопросов с собеседований по Express.js

1. Когда полезен Express.js?

Node.js особенно полезен при создании веб-приложений, где скорость и простота имеют первостепенное значение, а задача производить тяжеловесные вычисления не стоит. Вся прелесть в том, что Node.js использует неблокирующие ввод/вывод операции, Например, обработчик события, запускаемый в момент инициации события, может установить соединения с базой данных и назначить коллбек-функцию, которая должна выполниться, когда из БД будут получены данные. Node.js не ставит всё на паузу в ожидании результата от БД, а продолжает выполнять другие операции. Когда данные будут готовы, назначенный для их обработки коллбек будет выполнен. То, что Node.js не заблокировал все происходящие процессы ради ожидания выполнения функции, и является принципом неблокирующих операций. Сам Express.js лежит в основе многих других фреймворков для Node.js. Он славится своей стабильностью, большим сообществом и массой Open Source наработок. Однако, если вам действительно важна высокая производительность, не ошибкой было бы рассмотреть другие фреймворки.

2. Что такое middleware?

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

3. Что такое app.use()?

app.use() - это функция, позволяющая вмонтировать middleware в цепочку обработки запроса. Вмонтированные middleware вызываются в порядке их добавления, что позволяет выполнять операции последовательно. app.use(function (req, res, next) { console.log('Time:', Date.now()) next() }) Пример кода выше осуществляет логирование для каждого запроса к серверу, после чего с помощью next() передает управление следующему middleware или, если таковой отсутствует, непосредственно обработчику события.

4. Что такое next()?

Функция next() используется в теле функции, вмонтированной в качестве middleware, для того, чтобы передать управление следующему middleware или, если таковой отсутствует, непосредственно обработчику события.

5. Как включить CORS?

Cross-Origin Resource Sharing (CORS) — это контролируемый и применяемый в принудительном порядке клиентом (браузером) механизм обеспечения безопасности на основе HTTP. Он позволяет службе (API) указывать любой источник (origin) помимо себя, с которого клиент может запрашивать ресурсы. Если говорить проще, включение CORS на бэкенде позволит выполнять к нему HTTP-запросы не только с того же домена, к которому он привязан, но и с других. Каких именно - зависит от конкретной конфигурации, которую определяет сам разработчик. Чтобы включить CORS в Express.js , необходимо использовать middleware под названием cors. import cors from 'cors' app.use(cors()) Это позволит выполнять запросы из любого источника. Для продвинутого контроля вы можете настроить CORS, передав объект options основной функции.

6. Как следует обрабатывать ошибки?

Поддержи проект и получи доступ ко всему контенту всего за 290

7. Как обеспечить безопасность в приложении?

Поддержи проект и получи доступ ко всему контенту всего за 290

8. Как реализовать rate limiting?

Поддержи проект и получи доступ ко всему контенту всего за 290

9. Как реализовать аутентификацию?

Поддержи проект и получи доступ ко всему контенту всего за 290

10. Какие есть способы отладки приложения?

Поддержи проект и получи доступ ко всему контенту всего за 290

11. Как обеспечить версионирование API?

Поддержи проект и получи доступ ко всему контенту всего за 290

12. В чём разница между res.send() и res.json()?

Поддержи проект и получи доступ ко всему контенту всего за 290
Хочешь стать частью сообщества Девстанции?
Вступай в наш чат в Telegram

Также в этой категории

Шпаргалка
  10 вопросов

Шпаргалка по вопросам о Node.js

Вопросы для собеседования по Node.js

206 просмотров
От 12 октября 2023

Вам может быть интересно

Шпаргалка
  58 вопросов

60 вопросов для собеседования по JavaScript

Вопросы для собеседования JavaScript-разработчика

930 просмотров
От 16 февраля
Викторина
  33 вопроса

Подковыристые основы JavaScript

Типичные и не очень вопросы с собеседования по JavaScript

164 просмотра
От 7 февраля
Шпаргалка
  7 вопросов

Коллекция полезных команд для Docker

Большая шпаргалка по всем командам Docker

200 просмотров
От 12 октября 2023
Шпаргалка
  21 вопрос

Шпаргалка по вопросам о TypeScript

TypeScript - то, что могут спросить на собеседовании

491 просмотр
От 19 июня 2023
Викторина
  21 вопрос

Вопросы от пьяного интервьюера

Викторина с самыми странными вопросами

108 просмотров
От 9 октября 2023
Шпаргалка
  11 вопросов

Теория шардинга баз данных

О распределении данных между серверами

243 просмотра
От 10 октября 2023

Топ тредов

Gravatar for 9tokio
Tokio:
то что раньше было бесплатным теперь платное - вот это я понимаю

Последнее сообщение:
Логотип Девстанции
Девстанция:
Спасибо за поддержку проекта :) Повышение качества контента - один из важнейших приоритетов. Этому м...
3 сообщения
212 просмотров

Логотип Девстанции
Девстанция:
Поиск людей для совместной разработки IT-стартапов

Последнее сообщение:
В этом треде пока нет сообщений
0 сообщений
107 просмотров

Логотип Девстанции
Девстанция:
Какой язык программирования выбрать в качестве первого?

Последнее сообщение:
Gravatar for 2kokke
Kokke:
Python или JS - универсально. Но по уму надо бы с чего-то строгого начинать и достаточно низкоуровне...
1 сообщение
139 просмотров

Все категории