Node.js essentials Flashcards

Origem, arquitetura e principais features

1
Q

O que é Node.js?

A

Node.js é uma plataforma de desenvolvimento baseada no motor V8 do Google Chrome que permite executar código JavaScript no lado do servidor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qual a origem do Node.js?

A

Foi criado por Ryan Dahl (matemático) em 2009, inspirado no ambiente de desenvolvimento web Ruby on Rails, para desenvolver aplicações escaláveis com alto desempenho usando JavaScript no backend.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qual é a principal característica de arquitetura do Node.js?

A

O Node.js é single-threaded, baseado em um modelo de evento non-blocking e assíncrono.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

O que é o modelo de I/O assíncrono do Node.js e qual sua importância?

A

É um modelo de programação onde as operações de entrada e saída (como leitura de arquivos ou requisições HTTP) não bloqueiam a execução do código, permitindo que o Node.js handle múltiplas requisições simultaneamente, melhorando o desempenho.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

O que é o Event Loop no Node.js?

A

É um mecanismo que gerencia as operações assíncronas e permite que o Node.js execute de forma non-blocking.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

O que é o NPM no ecossistema Node.js?

A

NPM (Node Package Manager) é o gerenciador de pacotes do Node.js, usado para instalar bibliotecas e gerenciar dependências.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quais são os módulos principais do Node.js?

A

Módulos como http, fs (file system), path, events, stream e net são nativos e amplamente utilizados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O que é um módulo no Node.js?

A

Um módulo é um arquivo JavaScript que pode exportar funcionalidades (funções, objetos, variáveis) para serem usadas em outros arquivos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Como funciona o sistema de módulos no Node.js?

A

Node.js usa o padrão CommonJS, onde módulos são importados usando require() e exportados com module.exports.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

O que são Streams no Node.js?

A

Streams são interfaces para ler ou escrever dados de forma contínua e eficiente, usados em operações como manipulação de arquivos ou comunicação de rede.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O que são callbacks no Node.js?

A

São funções que são passadas como argumentos para outras funções e são executadas quando um evento específico ocorre.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

O que são promises no Node.js?

A

Uma promessa (Promise) é um proxy para um valor não necessariamente conhecido quando a promessa é criada. Isso permite que métodos assíncronos retornem valores como métodos síncronos - em vez de retornar imediatamente o valor final, o método assíncrono retorna uma promessa de fornecer o valor em algum momento no futuro.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

O que é o async/await no Node.js?

A

São palavras-chave que permitem escrever código assíncrono de forma mais síncrona, melhorando a legibilidade.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

O que é middleware no contexto de Node.js?

A

É uma função que tem acesso a requisição e resposta HTTP, e pode modificar ambas antes de passar para o próximo middleware.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Como o Node.js gerencia múltiplas conexões simultâneas?

A

Ele usa um único thread para gerenciar o loop de eventos, permitindo que operações I/O sejam delegadas a threads do sistema, não bloqueando o fluxo principal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Como o Node.js é capaz de lidar com operações I/O pesadas em um único thread?

A

Operações I/O pesadas são delegadas para a thread pool do sistema por meio da libuv, enquanto o Event Loop continua lidando com outras tarefas.

17
Q

O que é a libuv e qual seu papel no Node.js?

A

A libuv é uma biblioteca C usada pelo Node.js para gerenciar operações assíncronas de I/O, como rede e arquivos, através de um pool de threads.

18
Q

Qual o limite padrão de threads na pool de threads do Node.js?

A

O limite padrão de threads na pool da libuv é 4, mas pode ser configurado através da variável UV_THREADPOOL_SIZE.

19
Q

Quando o Node.js utiliza threads adicionais além do Event Loop principal?

A

Threads adicionais são usadas para operações de I/O pesadas, como consultas de banco de dados, compressão, criptografia ou leitura de arquivos, que seriam bloqueantes no Event Loop.

20
Q

Qual a diferença entre Javascript e Node.js?

A

JavaScript é a linguagem de programação, enquanto Node.js é o ambiente de execução que permite executar JavaScript no lado servidor.