21 вопрос по Node.js с ответами

21 вопрос по Node.js с ответами
Я собрал 21 вопрос о Node.js, которые варьируются от простых вещей до некоторых технически продвинутых тем.

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

Общие указания

Я бы рекомендовал попытаться ответить на вопросы самостоятельно, прежде чем читать ответы.

Вопросы по Node.js

Что такое Node.js?

Node.js — это среда выполнения JavaScript, основанная на движке V8. Она может запускать JavaScript вне браузера — обычно на веб-сервере.

Для чего нужен Node.js?

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

Что такое npm?

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

Как создать приложение Node.js с нуля?

Можно начать с создания папки проекта. Далее мы переходим к данной папке при помощи командной строки и запускаем npm init. Наконец, мы следуем инструкциям, чтобы заполнить информацию о нашем приложении.

Что делает «npm install»?

Он устанавливает зависимости, найденные в файле package.json.

Как установить библиотеку в Node.js?

npm install name-of-the-library установит нашу библиотеку и включит ее как dependency. Если мы добавим настройка --save-dev, библиотека будет включена как devDependency.

Как создать собственный скрипт?

Надо зайти в package.json и добавить собственный скрипт в поле ввода scripts. Далее можно запустить скрипт, перейдя в терминал и запустив npm run name-of-script.

Можно ли создать интерфейсное приложение при помощи Node.js?

Браузер не может запускать приложение, созданное на основе Node.js, но можно использовать что-то вроде webpack или Parcel, чтобы связать код и превратить его во что-то, что может запускать браузер. В настоящее время распространено использование среды Node.js для создания интерфейсных приложений. Хорошим примером использования Node.js во внешнем интерфейсе будет платформа Electron, которая использует как Node.js, так и chromium для сборки «нативных» приложений, к примеру, таких как VS Code.

Можете ли вы назвать три популярных фреймворка Node.js?

Express.js, вероятно, будет наиболее популярным фреймворком на сегодняшний день. Koajs, вероятно, один из наиболее быстрых, а Sails.js хорошо подходит для приложений двусторонней привязки в реальном времени, так как они используют socket.io.

Чем хорош Express.js?

Express.js упрощает установку маршрутов для веб-приложения, что делает его оптимальным выбором для создания REST API. Он довольно гибкий и простой в использовании, а его архитектура промежуточного программного обеспечения помогает сохранить простую и масштабируемую систему.

Что такое Crypto?

Crypto — это внутренняя библиотека Node.js, которая обеспечивает криптографические возможности, например, для шифрования и дешифрования паролей.

Как мы обрабатываем локальную и глобальную область видимости в Node.js?

В отличие от клиентского JavaScript, в Node.js переменные, объявленные при помощи var с максимальной областью видимости, не являются глобальными; они являются локальными по отношению к модулю, в котором находятся. В браузере у нас есть доступ к объекту window, в котором находятся глобальные переменные, и в Node.js есть объект для этого, называемый global.

Есть ли у Node.js доступ к файловой системе?

Да. Мы можем использовать модуль fs для чтения, записи, копирования и удаления файлов и папок.

Что означает неблокирующий?

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

Что такое цикл событий и как он работает?

Цикл событий — это то, что придает Node.js асинхронность. Он планирует выполнение набора из пяти фаз в цикле. На первом этапе выполняются запланированные обратные вызовы setTimeout и setInterval. Второй запускает обратные вызовы ввода-вывода, запланированные для выполнения на текущей итерации. Третий опрашивает события, которые будут выполнены в следующей итерации. Четвертый запускает обратные вызовы setImmediate(). Наконец, пятый запускает все обратные вызовы «закрытия».

Выполняются ли асинхронные возможности параллельно?

Нет. Асинхронная функцию будет выполняться на следующей итерации цикла событий, в то время как параллельный процесс выполняется в собственном потоке.

Будет ли Node.js многопоточным?

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

Что такое модуль child_process?

Модуль child_process может порождать и разветвлять дочерние процессы. Это независимые процессы, которые выполняются в собственном процессоре и предлагают нам доступ к системным командам.

В чем разница между web worker и рабочим потоком?

Web worker реализованы в браузере, а рабочие потоки реализованы в Node.js. Они решают одну и ту же проблему, а обеспечивают параллельную обработку. Фактически, API Worker Thread основан на реализации Web Workers.

Каковы преимущества использования рабочего потока перед дочерним процессом?

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

Что бы вы использовали для открытия двустороннего соединения с покупателем через HTTP в реальном времени?

Мы могли бы использовать WebSockets или длинный поллинг. Существуют библиотеки, такие как soket.io и SignalR, которые упрощают нашу задачу. Они даже предлагают покупатели, которые возвращаются к длинному поллингу, если WebSockets недоступны в браузере.

Заключение

Надеюсь, вы нашли данные вопросы полезными. Вы во всем разобрались? Если нет, не волнуйтесь. Если вы не стремитесь к руководящей должности, от вас не ожидается, что вы будете знать все необходимые ответы. Просто убедитесь в том, что вы понимаете основы, и где бы вы ни обнаружили пробел в знаниях, постарайтесь расширить их.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *