Учебники

15) Node.js Интервью Q & A

Скачать PDF

1) Что такое node.js?

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

2) Как работает node.js?

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

3) Что вы подразумеваете под термином I / O?

I / O — это сокращение для ввода и вывода, и оно будет иметь доступ ко всему, что находится за пределами вашего приложения. Он будет загружен в память машины для запуска программы после запуска приложения.

Node.js

4) Что означает программирование на основе событий?

В компьютерном программировании программирование, управляемое событиями, является парадигмой программирования, в которой поток программы определяется событиями, такими как сообщения от других программ или потоков. Это метод архитектуры приложения, разделенный на два раздела: 1) Выбор события 2) Обработка события.

5) Где мы можем использовать node.js?

Node.js может использоваться для следующих целей.

  • Веб-приложения (особенно веб-приложения в реальном времени)
  • Сетевые приложения
  • Распределенные системы
  • Приложения общего назначения

6) В чем преимущество использования node.js?

  • Предоставляет простой способ создания масштабируемых сетевых программ.
  • Вообще быстро
  • Отличный параллелизм
  • Все асинхронно
  • Почти никогда не блокирует

7) Каковы два типа функций API в Node.js?

Два типа API-функций в Node.js:

  • Асинхронные неблокирующие функции
  • Синхронные, блокирующие функции

8) Что такое функция управления потоком?

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

9) Объясните шаги, как «Поток управления» контролирует вызовы функций?

  • Контролировать порядок исполнения
  • Собирать данные
  • Ограничить параллелизм
  • Назовите следующий шаг в программе

10) Почему Node.js однопоточный ?

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

11) Работает ли узел в Windows?

Да, это так. Загрузите установщик MSI с  http://nodejs.org/download/

12) Можете ли вы получить доступ к DOM в узле?

Нет, вы не можете получить доступ к DOM в узле.

13) Используя цикл обработки событий, какие задачи должны выполняться асинхронно?

  • Операции ввода / вывода
  • Тяжелые вычисления
  • Все, что требует блокировки

14) Почему node.js быстро привлекает внимание программистов JAVA?

Node.js быстро завоевывает внимание, так как это сервер на основе цикла для JavaScript. Node.js дает пользователю возможность писать JavaScript на сервере, который имеет доступ к таким вещам, как стек HTTP, файловый ввод / вывод, TCP и базы данных.

15) Какие два аргумента принимает async.queue?

Два аргумента, которые принимает async.queue

  • Целевая функция
  • Значение параллелизма

16) Что такое цикл обработки событий в Node.js?

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

17) Назовите шаги, по которым вы можете выполнить асинхронизацию в Node.js?

Следуя шагам вы можете async Node.js

  • Функции первого класса
  • Композиция функций
  • Счетчики обратного вызова
  • Циклы событий

18) Каковы плюсы и минусы Node.js?

Плюсы:

  • Если в вашем приложении нет ресурсоемких вычислений, вы можете построить его в Javascript сверху вниз, даже до уровня базы данных, если вы используете объект JSON для хранения данных, такой как MongoDB.
  • Сканеры получают полностью обработанный HTML-ответ, который гораздо более удобен для SEO, чем одностраничное приложение или приложение websockets, запускаемое поверх Node.js.

Минусы:

  • Любое интенсивное вычисление ЦП блокирует отзывчивость node.js, поэтому многопоточная платформа — лучший подход.
  • Использование реляционной базы данных с Node.js считается менее выгодным.

19) Как Node.js преодолевает проблему блокировки операций ввода-вывода?

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

20) В чем разница между Node.js и Ajax?

Разница между Node.js и Ajax заключается в том, что Ajax (сокращение от Asynchronous Javascript и XML) — это технология на стороне клиента, часто используемая для обновления содержимого страницы без ее обновления. В то время как Node.js является Javascript на стороне сервера, используется для разработки серверного программного обеспечения. Node.js выполняется не в браузере, а на сервере.

21) Каковы проблемы с Node.js?

Подчеркивая с технической стороны, в Node.js довольно сложно создать один процесс с одним потоком для масштабирования на многоядерном сервере.

22) Что означает «неблокирование» в node.js?

В node.js «неблокирующая» означает, что его IO является неблокирующим. Node использует «libuv» для обработки ввода-вывода в зависимости от платформы. В windows он использует порты завершения для unix, использует epoll или kqueue и т. Д. Таким образом, он делает неблокирующий запрос, а по запросу он ставит его в очередь в цикле обработки событий, который вызывает «обратный вызов» JavaScript в основном потоке JavaScript.

23) Какая команда используется в node.js для импорта внешних библиотек?

Команда «require» используется для импорта внешних библиотек, например, «var http = require (« http »)». Это загрузит библиотеку http и один экспортируемый объект через переменную http.

24) Упомянуть фреймворк, наиболее часто используемый в node.js?

«Экспресс» — самая распространенная среда, используемая в node.js.

25) Что такое «обратный вызов» в node.js?

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