Procurando uma forma de ajudar os(as) desenvolvedores(as) que estão fora do mercado do mercado de trabalho, eu decidi iniciar uma série de posts onde eu abordo perguntas e respostas recorrentes de uma entrevista para uma vaga de desenvolvedor. Esse é o terceiro post da série e desta vez eu focarei no Node, um interpretador de JavaScript que vem ganhando cada vez mais espaço no mercado. E assim como nos primeiros posts, eu caprichei para o conteúdo ser o mais rico possível, então aproveitem a leitura <3
O seu funcionamento é similar ao de um framework, pois permite que o desenvolvedor escreva os seus códigos em JavaScript, faça a compilação deles e os execute.
Contudo, a diferença é que a aplicação rodará em uma máquina virtual específica, a V8. A máquina virtual em questão é a mesma que o Google desenvolveu para o Chrome com o mesmo objetivo de executar os códigos em JS.
O Node.js pode ser usado para os seguintes propósitos.
1- Aplicações Web 2- Aplicações de rede 3- Sistemas distribuídos 4- Aplicações de uso geral
Para processamento assíncrono, o Node.js foi criado como um experimento. Acredita-se que mais desempenho e escalabilidade possam ser alcançados através do processamento assíncrono em um único encadeamento do que na implementação típica baseada em encadeamento.
Não, você não consegue acessar o DOM a partir do Node.
Isso significa que a sua E/S não possui bloqueio. O Node usa o libuv
para lidar com E/S sem depender de qualquer plataforma.
Portanto, faz uma solicitação sem bloqueio e, mediante solicitação, enfileira-a no loop de eventos que chama uma callback no segmento principal do JavaScript.
libuv
?A biblioteca C que implementa o loop de eventos e todos os comportamentos assíncronos.
__dirname
?Uma variável global que retorna o caminho absoluto do diretório que contém o arquivo em execução no momento.
Prós:
Contras:
dependencies
e as devDependencies
?Ambos são definidos no package.json
. As dependencies
listam os pacotes dos quais o projeto depende. Já as devDependencies
listam as dependências necessárias apenas durante o teste e o desenvolvimento.
event loop
?O Node.js processa solicitações recebidas no event loop. É isso que permite ao Node.js executar operações sem bloqueio, mesmo o JavaScript sendo single-threaded .
Por hora é só pessoal! Apesar de eu ter trazido apenas as questões que achei mais recorrentes para um post sobre o Node, você pode encontar muitas outras nesse repositório aqui.
Fique de olho também nos próximos posts relativos a entrevistas de emprego, e se surgirem dúvidas ou sugestões, não deixem de mandar aí nos comentários!