Node.js Preguntes i respostes de l’entrevista

Bloc

Node.js Preguntes i respostes de l’entrevista

Node.js Preguntes i respostes de l’entrevista

Fa més de 5 anys que treballo a Node (2 anys acadèmics i 3+ anys professionalment). Durant aquest període de temps, he realitzat diverses entrevistes i he assistit a entrevistes a diverses empreses que van des de la creació d’empreses com Browserstack, Housing i gegants com Amazon.

amazon.com/activate endavant

He escrit un llibre sobre Sails.js que és un framework MVC per a Node. En aquest post, resumiré les preguntes juntament amb les respostes a les preguntes que m’han fet durant les entrevistes i preguntes que segons la meva experiència són bones per a la vostra base de coneixement.

Anem a començar.

Què és Node? i Per què utilitzar-lo?

Node.js és un marc de temps d'execució de JavaScript basat en el motor Google V8. Una de les raons clau per utilitzar Node és realitzar una operació d'E / S asíncrona.

Quina és l’àrea de problema de les adreces de node

Àrees clau del problema Direccions de nodes:

  • Servidors web lents per E / S síncrons.
  • Colls d'ampolla de programació de diversos fils.
  • Escalat.
  • Gestió i desplegament de paquets.

Per què Node utilitza Google V8 Engine

Google V8 és un motor d'execució de Chrome que converteix el codi JavaScript en codi de màquina natiu que al seu torn proporciona una aplicació d'execució ràpida.

Podem utilitzar altres motors diferents del V8

Sí. Microsoft Chakra és un altre motor JavaScript que es pot utilitzar amb Node.js. Encara no s’ha declarat oficialment.

Si el node té un fil únic, com es gestiona la simultaneïtat

Node proporciona un únic fil als programadors perquè el codi es pugui escriure fàcilment i sense coll d'ampolla. El node utilitza internament diversos fils POSIX per a diverses operacions d'E / S com ara fitxers, DNS, trucades de xarxa, etc.

Quan el node rep una sol·licitud d'E / S, crea o utilitza un fil per realitzar aquesta operació d'E / S i, un cop feta l'operació, empeny el resultat a la cua d'esdeveniments. En cada esdeveniment d’aquest tipus, el bucle d’esdeveniments s’executa i comprova la cua i, si la pila d’execució del node està buida, afegeix el resultat de la cua a la pila d’execució.

Així és com Node gestiona la simultaneïtat.

Expliqueu el bucle d'esdeveniments

Com s'ha dit, Node.js té un únic fil, però admet la simultaneïtat mitjançant esdeveniments i devolucions de trucada. El bucle d'esdeveniments és un component que comprova la cua d'esdeveniments periòdicament i empeny el resultat a la pila d'execució si la pila està buida.

Què és l'infern de devolució de trucada?

La funció asíncrona requereix devolucions de trucada com a paràmetre de retorn. Quan diverses funcions asíncrones estan encadenades, apareix la situació d'infern de devolució de trucada. Penseu en el codi d'exemple següent.

Aquesta situació es coneix com infern de devolució de trucada situació.

Quina és la vostra manera preferida d'escriure codi asíncron a Node

A continuació, es mostra una llista de mètodes que generalment faig servir per evitar l’infern de trucades i escriure asíncron codi.

  • Servidors web lents per E / S síncrons.
  • Colls d'ampolla de programació de diversos fils.
  • Escalat.
  • Gestió i desplegament de paquets.

Jo personalment prefereixo Asíncron mòdul npm.

Què és el flux i explicar els tipus de corrents

Els fluxos són una col·lecció de dades que potser no estan disponibles alhora i que no cal que encaixin a la memòria. Els fluxos proporcionen trossos de dades de manera contínua. És útil llegir i processar una gran quantitat de dades.

Hi ha 4 tipus fonamentals de corrents:

  1. Llegible.
  2. Escriptible.
  3. Dúplex.
  4. Transformar.

Els fluxos llegibles, tal com el seu nom suggereix, s’utilitzen per llegir una gran quantitat de dades d’una font. Els fluxos d'escriptura s'utilitzen per escriure una gran quantitat de dades a la destinació.

Els fluxos dúplex es poden llegir i escriure (per exemple, sòcol). El flux de transformació és el flux dúplex que s’utilitza per modificar les dades (per exemple, creació de zip).

tutorial d'api de google books

Expliqueu els processos fills a Node

El mòdul de procés fill ens permet accedir als funcionaris del sistema operatiu. L’escalabilitat es converteix en Node i els processos secundaris són els factors clau per escalar la nostra aplicació. Podeu utilitzar el procés fill per executar ordres del sistema, llegir fitxers grans sense bloquejar el bucle d’esdeveniments, descompondre l’aplicació en diversos nodes (per això s’anomena Node).

Podem enviar / rebre missatges entre processos secundaris

Si podem.

Podem utilitzar enviar () funció per enviar missatges als treballadors i rebre la resposta process.on ('missatge') esdeveniment.

Expliqueu el mòdul del sistema de fitxers del node

El mòdul Node ** fs ** proporciona un mòdul senzill del sistema de fitxers per realitzar operacions relacionades amb els fitxers. Aquest mòdul inclou funcions síncrones i asíncrones per llegir / escriure fitxers. Per exemple, la funció ** readFile () ** és una funció asíncrona per llegir el contingut del fitxer des del camí d'accés especificat i ** readFileSync () ** és una funció síncrona per llegir fitxers.

Com escalar l’aplicació Node

Podem escalar l’aplicació Node de les maneres següents:

  • Servidors web lents per E / S síncrons.
  • Colls d'ampolla de programació de diversos fils.
  • Escalat.
  • Gestió i desplegament de paquets.

Enumereu la vostra biblioteca NPM preferida i més útil

Haureu d’enumerar el vostre mòdul de node favorit juntament amb els motius.

Com es desplega l'aplicació Node

Heu de saber com implementar l'aplicació Node en diversos proveïdors de núvol. Si coneixeu els conceptes bàsics, com ara l'accés SSH, la clonació de git i l'execució de l'aplicació al gestor de processos, els passos són més o menys els mateixos en diversos proveïdors de núvol.

Referència: Allotjament de l'aplicació Node.js a DigitalOcean Server

Seguirem afegint preguntes tal com les trobin o suggereixin els lectors.

També heu d’aprendre o revisar alguns conceptes bàsics bàsics de JavaScript, com ara:

  • Servidors web lents per E / S síncrons.
  • Colls d'ampolla de programació de diversos fils.
  • Escalat.
  • Gestió i desplegament de paquets.

Recomanació de llibres

Aquests llibres us poden ajudar a preparar-vos per a la propera entrevista de Node.js.

  • Servidors web lents per E / S síncrons.
  • Colls d'ampolla de programació de diversos fils.
  • Escalat.
  • Gestió i desplegament de paquets.

També podeu preparar-vos i aprendre’n els nostres tutorials de Node.js llista.

Conclusió

Actualitzarem aquest article sovint, de manera que seria millor que el marqueu. Una entrevista de node.js pot ser complicada i, principalment, la gent es confon amb el bucle d’esdeveniments i la simultaneïtat. Espero que us agradin aquestes preguntes i respostes i espero que us ajudi a preparar la propera entrevista. Bona sort, per cert

Lectura recomanada

☞ Desplegament d'aplicacions NestJS a Zeit Now

Converteix SVG a.png '> Construir una API de node amb autenticació sense estat

☞ Introducció ràpida a ElectronJS

exemple d'arrossegar i deixar anar reactjs

☞ ABC de JavaScript i Node.js

Apreneu Nodejs creant 12 projectes

NodeJS & MEAN Stack: per a principiants: de manera fàcil.

# node-js #javascript