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

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

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

Node.js - это среда выполнения JavaScript с открытым кодом, работающая на стороне сервера на основе ядра JavaScript V8 (Chrome). Она была создана Райаном Далем (Ryan Dahl) и выпущена в 2009 г. Node.js использует событийно-ориентированную модель и неблокирующую ввод / вывод архитектуру, что делает его легковесным и эффективным. Это не фреймворк, и не библиотека, это среда выполнения JavaScript. Node.js особенно полезен при создании веб-приложений, где скорость и простота имеют первостепенное значение, а задача производить тяжеловесные вычисления не стоит. Вся прелесть в том, что Node.js использует неблокирующие ввод/вывод операции, Например, обработчик события, запускаемый в момент инициации события, может установить соединения с базой данных и назначить коллбек-функцию, которая должна выполниться, когда из БД будут получены данные. Node.js не ставит всё на паузу в ожидании результата от БД, а продолжает выполнять другие операции. Когда данные будут готовы, назначенный для их обработки коллбек будет выполнен. То, что Node.js не заблокировал все происходящие процессы ради ожидания выполнения функции, и является принципом неблокирующих операций.

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

NPM (Node Package Manager) - это менеджер пакетов для среды выполнения JavaScript - Node.js. NPM устанавливается автоматически при установке Node.js.

3. Что такое EventEmitter?

const Emitter = require("events"); let emitter = new Emitter(); let eventName = "greet"; emitter.on(eventName, function(){ console.log("Hello all!"); }); emitter.on(eventName, function(){ console.log("Привет!"); }); emitter.emit(eventName); // Hello all! // Привет! EventEmitter - это класс, предоставляющий своим экземплярам API для генерации и обработки событий. Подавляющее большинство функционала Node.js применяет асинхронную событийную архитектуру, которая использует специальные объекты - эмиттеры для генерации и обработки различных событий. Все объекты, которые генерируют события, представляют экземпляры класса EventEmitter. С помощью функции eventEmitter.on() к определенному событию по имени цепляется функция-обработчик. Причем для одного события можно указать множество обработчиков. Когда объект EventEmitter генерирует событие, происходит выполнение всех этих обработчиков.

4. Что такое цикл событий?

Цикл событий - это цикл, лежащий в основе Node.js, управляющий порядком исполнения пользовательского кода (коллбеков). Цикл событий содержит структуры, похожие на очереди, но он не обрабатывает весь стек последовательно. Цикл событий представляет собой процесс, состоящий из этапов (групп задач), которые выполняются по очереди. Вот эти этапы: 1. Timers - выполняется код, инициированный через setTimeout() или setInterval(). 2. Callbacks - выполняются пользовательские коллбеки (большая часть пользовательского кода). 3. Polling - опрос новых событий, которые будут обработаны в следующем тике цикла. 4. Set Immediate - выполняются функции, зарегистрированные через setImmediate(). 5. Close - выполняются все колбеки для событий on(‘close’).

5. Что такое LibUV?

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

6. Расскажите про многопоточность и Node.js

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

7. В чем разница между exports и module.exports?

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

8. Расскажите про синхронную работу с файлами

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

9. Что такое демультиплексор?

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

10. Что такое Streams?

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

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

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

Вопросы с собеседований по Express.js

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

164 просмотра
От 12 октября 2023

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

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

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

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

200 просмотров
От 12 октября 2023
Викторина
  21 вопрос

Промисы, async/await и Event Loop

Вопросы про Promise API, async/await и цикл событий

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

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

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

243 просмотра
От 10 октября 2023
Викторина
  33 вопроса

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

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

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

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

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

491 просмотр
От 19 июня 2023
Шпаргалка
  58 вопросов

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

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

930 просмотров
От 16 февраля

Топ тредов

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

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

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

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

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

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

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