Come valutare le competenze degli sviluppatori Node.js

Pubblicato: Ultimo aggiornamento:
Stipendio sviluppatore Node JS

Nell'attuale clima tecnologico, Node.js è uno dei le tecnologie di backend più diffuse utilizzato dagli sviluppatori. È fondamentale verificare le competenze di sviluppatore Node.js del candidato per effettuare un'assunzione di alta qualità.

Sono molti i motivi per cui Node.js è popolare tra gli operatori del settore. A volte chiamato semplicemente 'Node', questo ambiente di runtime promuove uno sviluppo software veloce e scalabile. Inoltre, utilizza JavaScript, la lingua franca del World Wide Web, per alimentare le sue ampie funzionalità. Non c'è da stupirsi che molte aziende stiano facendo del loro meglio per cercare sviluppatori Node.js di alto livello.

I dati riportati da Indeed indicano che il numero di ricerche di lavoro per Node.js rosa da 57% rispetto all'anno precedente, a dimostrazione della sua crescente domanda. Questo speciale pezzo di tecnologia è utilizzato da una serie di giganti della tecnologia e di multinazionali, tra cui Netflix, Uber, LinkedIn, NASA, PayPal, Microsoft e Walmart.

Nell'articolo di oggi, DevSkiller illustrerà le caratteristiche di Node.js, gli aspetti più importanti che un selezionatore IT dovrebbe conoscere e le nostre migliori strategie per assumere uno sviluppatore Node.js di qualità.

Che cos'è Node.js?

Tecnicamente parlando, Node.js è un ambiente runtime JavaScript open-source e multipiattaforma che esegue codice JavaScript al di fuori di un browser web.

Scendendo un po' più nel dettaglio, Node.js consente agli sviluppatori di utilizzare JavaScript per scrivere comandi per lo scripting lato server (back-end scripting). In sostanza, questo significa che Node.js aiuta a eseguire script lato server per produrre contenuti dinamici di pagine web prima che la pagina venga inviata al browser dell'utente.

La prima versione stabile di Node.js (0.10.0, la prima utilizzata in ambito commerciale) è stata rilasciata nel 2013, anche se il progetto è iniziato qualche anno prima. L'obiettivo di Ryan Dahl, il creatore di Node.js, era quello di creare siti web in tempo reale con funzionalità push, "ispirandosi ad applicazioni come Gmail". Con Node.js ha fornito agli sviluppatori uno strumento per lavorare nel paradigma I/O non bloccante e guidato dagli eventi.

1.1. A cosa serve Node.js e quali problemi risolve?

Poiché la maggior parte delle applicazioni lato client, comprese le pagine web e le applicazioni web, utilizzano codice scritto in JavaScript, il vantaggio di scrivere anche script lato server in Javascript è enorme. È qui che entra in gioco Node.js.

Node.js è popolare soprattutto per il fatto che rappresenta una "JavaScript ovunque" unificando lo sviluppo di applicazioni web attorno a un unico linguaggio di programmazione, anziché a linguaggi diversi per gli script lato server e lato client.

Questa unificazione dello stack, che incorpora il linguaggio e il formato dei dati (JSON), consente alle aziende di riutilizzare in modo ottimale le risorse degli sviluppatori.

L'uso di Node.js consente a uno sviluppatore full-stack di passare con facilità e, di conseguenza, è in diretta concorrenza con altri linguaggi e framework di scripting popolari come Java, .NET, Python, PHP, Ruby e C#.

La piattaforma facilita le applicazioni web con connessioni bidirezionali, in modo che sia il client che il server possano iniziare la comunicazione, consentendo loro di scambiare liberamente i dati. Questo vantaggio è in netto contrasto con la tipica paradigma web richiesta/rispostain cui è sempre il cliente a iniziare la comunicazione.

Node.js è una piattaforma che soddisfa un'esigenza particolare. È molto leggera, il che significa che è possibile scrivere sistemi scalabili e ad alte prestazioni con poco codice. Node.js, tuttavia, non è ideale per le operazioni ad alta intensità di CPU a causa della sua implementazione a thread singolo.

Node si distingue dalla massa per la costruzione di applicazioni di rete veloci e scalabili, in quanto è in grado di gestire un numero enorme di connessioni simultanee con un elevato throughput, il che equivale a un'elevata scalabilità.

1.2. È simile a qualsiasi altro linguaggio o framework?

Node.js sarà sempre molto legato al linguaggio JavaScript, essendo la sua piattaforma di runtime lato server. Poiché Node.js implementa le specifiche ECMAScript, uno standard JavaScript globale che ha lo scopo di garantire l'interoperabilità delle pagine web tra i diversi browser; possiamo informalmente dire che Node.js è effettivamente Javascript.

Per certi versi, possiamo dire che Node è simile a PHP, Python e Ruby (essendo un linguaggio di scripting a tipizzazione dinamica), anche se è molto più avanzato in termini di capacità di programmazione funzionale.

Sul mercato sono presenti diversi altri prodotti che funzionano come valide alternative a Node.js. Questi includono Elixir, Perl, ASP.NET, Ceylon e Rebol.

1.3. Quali sono i suoi principali vantaggi o caratteristiche?

Che cosa è importante che un selezionatore IT conosca di Node.js?

Cosa è importante cercare quando si assumono sviluppatori con esperienza in Node.js? Oltre alle consuete capacità di progettazione dell'architettura, di logica, di collaborazione e di comunicazione che si richiedono quando si assume uno sviluppatore qualsiasi, ci sono alcune cose che sono unici per gli sviluppatori di Node.

2.1. Quanto spesso cambia lo stack tecnologico?

Poiché Node.js si basa su Javascript, si sente spesso dire che, "Ogni settimana c'è un nuovo framework JavaScript".ma questo riguarda principalmente l'architettura del front-end. Il back-end è generalmente molto più stabile. Naturalmente, vengono aggiunti sempre nuovi strumenti; tuttavia, per quanto riguarda i componenti aggiuntivi più diffusi utilizzati in Node.JS, tra cui Express, Meteor, Hapi, NestJS, koa e così via, si tratta più di un'evoluzione che di una rivoluzione.

Inoltre, il linguaggio JavaScript stesso è migliorato costantemente dal 2015, quando è stato rilasciato ES6 (noto anche come ES2015). Il motivo è che prima del 2015, ogni versione di JS era introdotto con estrema periodicità (ad esempio ogni 3-5 anni), ma dal 2015 viene rilasciata una nuova versione ogni anno. Nel complesso, lo stack tecnologico ha subito un'evoluzione piuttosto fluida.

2.2. Ci sono molte risorse/strumenti/tecnologie disponibili?

Il bello di Node.js sono le migliaia di moduli disponibili per qualsiasi scopo e la vivace comunità che sta dietro alla piattaforma. Esistono decine di blog, tutorial, video, conferenze e libri sull'argomento, pensati per semplificare la vita degli sviluppatori.

Strumenti come Webpack, un pratico bundler di moduli JavaScript utilizzato per semplificare lo sviluppo front-end, aiuta davvero a semplificare Node.js. Oppure Mocha.js, che consente agli sviluppatori Node di eseguire test sia in console che nel browser.

Ulteriori informazioni sugli strumenti e le risorse per Node si possono trovare su siti come Spaccare e Brainhub.

2.3. Quali strumenti e tecniche deve conoscere uno sviluppatore Node.js?

A questo proposito occorre distinguere due aspetti: la conoscenza di Node.js in sé e le questioni generali legate alla programmazione back-end. Node.js, essendo il JavaScript lato server, comprende:

  • Il linguaggio di scripting e
  • Moduli Node.js integrati, che gestiscono file system, processi, eventi, HTTP, ecc.

Questa ampiezza di conoscenze non è un grosso ostacolo per gli sviluppatori front-end che desiderano migrare dal browser al server.

Tuttavia, ci sono anche concetti relativi al back-end, che sono più o meno gli stessi per tutte le tecnologie di back-end, tra cui Java, .Net, PHP, Python, Ruby, Golang e, naturalmente, Node.js. Tali argomenti includono:

  • Database, persistenza
  • Gestione della sessione
  • Architettura: monoliti, microservizi
  • Scalabilità (consumo di risorse RAM/CPU)
  • API REST
  • Cloud e infrastrutture
  • e molte altre ancora, spesso in funzione della specificità del progetto.

Nel complesso, questi sono i concetti che gli sviluppatori node.js dovrebbe essere con cui si ha dimestichezza.

Le competenze specifiche degli sviluppatori Node.js sono chiaramente non negoziabili. Ma senza conoscenze di back-end, gli sviluppatori potrebbero scrivere sistemi non resilienti, non scalabili o non tolleranti ai guasti (il che potrebbe portare a sistemi che funzionano bene per ~50 utenti ma che si rompono per ~5000 o ~50000 utenti).

2.4. Che tipo di esperienza è importante cercare in uno sviluppatore Node.js?

Senza dubbio, l'esperienza commerciale con Node.js è il fattore più importante da considerare. Lavorare su progetti commerciali e fornire software stabile sono i parametri di riferimento per la piattaforma. L'esperienza scientifica e accademica per React è quasi irrilevante.

L'esperienza nell'open source dovrebbe essere considerata un ulteriore vantaggio, poiché Node.js è una delle piattaforme più aperte che esistano.

Come verificare le competenze degli sviluppatori Node.js nella fase di screening?

Se state assumendo per le competenze di uno sviluppatore Node.js, c'è più di un modo per spellare un gatto, o per così dire. Adam Polak, responsabile di Node.js di The Software House, sostiene che transizione da una tecnologia diversa può apparentemente essere un'opzione valida.

"Node.js è una tecnologia relativamente nuova, quindi non ci sono molti sviluppatori esperti che la utilizzano. Per questo motivo non dobbiamo limitarci agli attuali utenti di Node.js, ma dobbiamo guardare anche agli sviluppatori esperti che possono passare rapidamente ad altre tecnologie. Gli sviluppatori PHP, Java e .NET sono spesso disposti a imparare nuove tecnologie".

3.1. Di cosa tenere conto quando si esamina un curriculum?

  • Gli sviluppatori devono avere familiarità con le questioni, i modelli, i problemi e le soluzioni della programmazione back-end.
  • Esperienza nello sviluppo e nella spedizione di applicazioni basate su Node.js.
  • Progettazione di database e analisi delle prestazioni.
  • Competenze relative alla QA (ad esempio, progettazione di scenari di test e implementazione di tali test).
  • Esperienza con le infrastrutture cloud, ad esempio come attivare i deploy su infrastrutture cloud AWS/Azure/GCP.
  • Tutto ciò che non dimostra la conoscenza dello stack tecnologico, ma fornisce un valore commerciale, come ad esempio la manutenzione delle applicazioni, la correzione di bug, la messa a punto delle prestazioni, ecc.
  • Un equilibrio di conoscenze tra sintassi (come scrivere il codice) e questioni relative al back-end (cosa scrivere).
  • Sviluppatori che dimostrano di comprendere la specificità della piattaforma (quali problemi possono sorgere e i modi giusti per risolverli).
  • Non aspettatevi che i candidati conoscano il vostro stack tecnologico da cima a fondo. Partite dal presupposto che se uno sviluppatore ha dimostrato di avere successo in uno stack, è in grado di fornire prestazioni di alto livello anche in un altro stack tecnologico.

3.2. Quali termini del glossario è importante conoscere in Node.js (compresi framework, librerie e versioni del linguaggio)?

AbrivazioniNode = Node.js JS = JavaScript. ES = ECMAScript (ECMAScript è il nome dello standard, JavaScript è la sua implementazione - formalmente. Ma in pratica, la gente lo chiama JavaScript quando dovrebbe chiamarlo ECMAScript (la specifica), tuttavia, alla maggioranza degli sviluppatori non importa).
JavaScript / ECMAScriptProgrammazione asincrona: eventi, promesse, async/await, rxjs Programmazione orientata agli oggetti: Strutture dati JS, ereditarietà prototipale, classi ES6 Programmazione funzionale: funzioni di ordine superiore, chiusure Meccanismi trasversali: coercizione (typecasting)
Servizi WebProtocollo HTTP, protocollo WebSocket HTTP: Fetch, Axios, Request, WebSocket: Socket.IO
Strumenti Node.jsQuadri: Express, Koa, Nest.js, Fastify Transpilers: Babel, TypeScript, Flow Bundler: Webpack, Parcel, Snowpack Pacchetti popolari: NVM, Chokidar
TestTipi: test unitari, test funzionali, test di integrazione, test E2E Strumenti (framework e librerie): Karma, Jasmine, Selenium, Jest, Mocha, Sinon, Chai (e molti altri) Varie: piramide di test (molti più test unitari che e2e), snapshot testing, regression testing, mocking
Banche datiSQL, MySQL, MSSQL NoSQL: MongoDB, CouchDB e molti altri ORM (object-relational mappers)
DesignMonoliti, microservizi, CQRS Design Patterns: facade, factory, builder, composite, mediator, state machine, state, chain of responsibility... e molti, molti altri Preoccupazioni: scalabilità, monitoraggio, logging, deployments, continuous integration/deployment, infrastruttura cloud

3.3. Quali versioni sono completamente diverse? Quali versioni sono simili tra loro?

ES6 è ECMAScript v6 (rilasciato nel 2015), è stata una svolta importante a cui le persone si riferiscono, intendendo il nuovo JavaScript (prima si considerava il vecchio JS).

Le versioni di Node.js vengono fornite principalmente con un migliore supporto per le recenti versioni di ECMAScript (JavaScript), con miglioramenti incrementali, ma non rivoluzionari.

Screening tecnico delle competenze dello sviluppatore Node.js durante un colloquio telefonico/video

4.1. Domande che dovreste porvi sullo sviluppo di Node.js esperienza. Perché dovreste porre ciascuna di queste domande?

  • Avete partecipato al test automatico delle vostre precedenti applicazioni? Cosa pensate di aver fatto bene e cosa cambiereste oggi?
    • I test sono un elemento essenziale dello sviluppo del software. Agli sviluppatori vengono dati gli strumenti per innovare e spetta a loro usarli in modo efficiente. Per quanto riguarda i test, è importante che:
      • I test sono piccoli e vengono eseguiti rapidamente. Gli sviluppatori sono meno desiderosi di eseguire continuamente test che richiedono molto tempo.
      • Ogni test dovrebbe controllare esplicitamente una variabile (a meno che non si tratti di un test E2E che, come suggerisce il nome, è end-to-end). Se una funzionalità è rotta, è meglio che fallisca un solo test invece di centinaia di test.
      • I test non devono coprire elementi che sono controllati da altri strumenti, ecc. Le strutture di dati possono essere validate da validatori di schemi JSON, controllori di tipo (TypeScript, Flow, ...), ecc.
      • Un'adeguata copertura attraverso i test dovrebbe dare agli sviluppatori fiducia nel codice che creano (cioè, se i test passano, il codice funziona correttamente). Uno sviluppatore che non ha mantenuto i test potrebbe non sentire la necessità di crearli e non rendersi conto di quanto i test appropriati siano utili nel lungo periodo.
  • Avete lavorato con microservizi e/o sistemi distribuiti?
    • Se i prodotti della vostra azienda gestiscono una scala massiccia (di utenti, richieste, ecc.) e richiedono un'elevata disponibilità, spesso questo porta a sistemi distribuiti, in cui solo una parte del sistema viene scalata. Nel complesso, un sistema distribuito ha i suoi schemi e anti-schemi che richiedono molto tempo per essere appresi. Se avete bisogno di spedire la vostra applicazione nel cloud (AWS/Azure/GCP, ...), uno sviluppatore Node.js con sistemi distribuiti sarebbe estremamente prezioso.
  • Avete lavorato su applicazioni in tempo reale? Se sì, quali processi aziendali ha implementato il sistema? Quali sono state le difficoltà del sistema, dal punto di vista tecnologico?
    • Uno dei problemi più importanti da affrontare nei sistemi delle grandi aziende sono i dati in tempo reale. L'implementazione di applicazioni in cui i dati cambiano ogni secondo porta con sé stranezze, problemi, errori comuni, soluzioni, modelli e architetture, ecc. Se il vostro sistema gestisce dati che cambiano frequentemente (ad esempio, il tracciamento dei servizi postali o l'elaborazione di dati finanziari che, a causa della natura delle finanze, sono anch'essi estremamente dinamici), dovreste assolutamente porre questa domanda per vedere se il candidato comprende il contesto.

4.2. Domande che dovreste porvi sullo sviluppo di Node.js conoscenze e opinioni. Perché dovreste porre ciascuna di queste domande?

  • Cosa sono gli stream di Node.js, cosa significa fare streaming di dati e perché è importante?
    • Lo streaming dei dati è un modo particolare di scambiare i dati tra il server e il client. Nella maggior parte dei sistemi, si invia una richiesta completa e si riceve una risposta completa, ma non è questo il caso degli stream. Negli stream, la risposta viene restituita in più parti (in tempo reale, pezzo per pezzo). È estremamente importante perché influisce sulle prestazioni del sistema a basso livello. Spesso, un client può iniziare a elaborare pezzi della risposta senza disporre dell'intera risposta. Questo è più difficile, ma riduce il tempo di attesa inutile. Uno sviluppatore node.js esperto dovrebbe avere esperienza nell'uso dei node stream.
  • Perché il file package-lock.json dovrebbe essere inserito nel repository e cosa contiene?
    • Quasi tutti gli sviluppatori sanno che un file package.json, il file principale di un progetto node, dovrebbe essere impegnato e tracciato da un sistema di versioning (per esempio, git). Ma non tutti conoscono il file package-lock.json, che si trova in npm. Mentre package.json elenca esplicitamente tutte le dipendenze che noi direttamente package-lock.json include l'intero albero delle dipendenze. Le versioni di tutti i pacchetti sono elencate esplicitamente e, quando l'applicazione viene costruita su una macchina di compilazione, queste versioni esatte vengono prese in considerazione. Perché? Perché se si verifica un errore su una macchina di compilazione, è necessario conoscere le versioni esatte per riprodurre l'errore sulle macchine locali. Grazie al commit di package-lock.json nel repo, è facile.
  • Un detto comune nella programmazione dice che "ci sono due cose difficili nella programmazione: 1. Dare un nome alle cose e 2. Invalidare la cache". L'invalidazione della cache". Si prega di spiegare che cos'è l'invalidazione della cache e perché è considerata difficile.
    • La cache è la memorizzazione dei calcoli per un secondo momento, in modo che ogni volta che viene posta di nuovo la stessa domanda, si abbia già la risposta giusta. L'invalidazione della cache avviene quando sappiamo che la base del calcolo è cambiata e quindi il risultato ricordato è sbagliato. Poiché si riferisce alla vecchia base, sappiamo che questo pezzo di informazione nella cache deve essere cancellato (invalidato). Nei sistemi di grandi dimensioni, dove il prezzo di un ordine può dipendere da diversi fattori, alcuni dei quali cambiano e altri no. È difficile non perdere un certo percorso (una modifica dovrebbe essere seguita da un'invalidazione della cache) o non farlo in modo avventato. Nella maggior parte dei sistemi, l'invalidazione della cache deve essere programmata esplicitamente.

4.3. Domande comportamentali che dovreste porre a uno sviluppatore Node.js. Perché dovreste porre ciascuna di queste domande?

  • Immaginate di entrare a far parte di un team di sviluppatori che mantiene un prodotto stabile, ma piuttosto mal scritto. La realizzazione di nuove funzioni e il miglioramento del valore aziendale richiedono più tempo del previsto. Come cerchereste di aiutare il team quando vi unite a loro?
    • È importante il modo in cui il candidato cerca di aiutare. Se il candidato si sforza di spiegare come si dovrebbe fare qualcosa in modo corretto (ad esempio, come un insegnante, e ciò che è già stato fatto era sbagliato) o piuttosto cerca di ascoltare i compagni di squadra sul perché si sono comportati in quel modo e di incontrarli dove si trovano. In sostanza, un esperto tecnico che impone le decisioni rivendicando le proprie conoscenze non è un buon giocatore di squadra.
  • Vi siete mai trovati in una situazione in cui eravate consapevoli di aver introdotto un bug che in seguito ha mandato in crash il sistema di produzione (l'intera piattaforma o una singola funzionalità)? Se sì, cosa avete imparato da questa situazione?
    • In un certo senso, questa domanda verifica l'onestà. Gli sviluppatori junior potrebbero non aver avuto la possibilità di rilasciare un bug grave, ma gli sviluppatori senior sicuramente sì. Non esiste il programmatore perfetto, cioè quello che non ha commesso errori. È quindi necessario chiedersi se le conseguenze di un errore siano state dolorose per il candidato. Inoltre, imparare dagli errori è estremamente importante nel lungo periodo, poiché gli sviluppatori devono costruire abitudini che eliminino le possibilità di introdurre bug. Soprattutto quando si tratta di applicazioni back-end. Dopo tutto, non possiamo essere migliori la prossima volta se non analizziamo il motivo per cui ci siamo trovati in una situazione critica.
  • Quale considera il suo più grande successo?
    • Questa domanda è volutamente lasciata aperta perché permette allo sviluppatore di scegliere tra aree distinte come la fornitura di valore aziendale, l'esemplificazione del lavoro di squadra e la cooperazione, oltre alla competenza tecnica. È quindi interessante osservare ciò che il candidato ritiene importante per lui. In effetti, un equilibrio tra tutte e tre le aree sarebbe molto apprezzato. Potreste essere giustamente scettici nei confronti di un candidato che attribuisce valore solo alle competenze tecniche, perché è questo che dovreste aspettarvi in seguito quando lavorerete per la vostra azienda.

Screening tecnico delle competenze dello sviluppatore Node.js mediante un test di codifica online

Assumere un ottimo sviluppatore Node.js può rappresentare una sfida significativa, soprattutto se si sta facendo tutto il lavoro sporco da soli. Per progetti che richiedono un impegno e un budget a lungo termine, è necessaria un'azienda di sviluppo software con un solido processo di reclutamento.

5.1. Quale test online per le competenze degli sviluppatori Node.js scegliere?

Quando si cerca il giusto Test sulle competenze degli sviluppatori Node.js è necessario assicurarsi che corrisponda ai seguenti criteri:

  • Il test riflette la qualità del lavoro professionale che viene svolto
  • La durata non è eccessiva, da una a due ore al massimo.
  • Il test può essere inviato automaticamente ed è di natura semplice.
  • Il livello di difficoltà corrisponde alle capacità del candidato
  • Il test va oltre la verifica del funzionamento della soluzione: controlla la qualità del codice e il suo funzionamento nei casi limite.
  • È il più vicino possibile all'ambiente naturale di programmazione e consente al candidato di accedere alle risorse pertinenti.
  • Fornisce al candidato l'opportunità di utilizzare tutte le librerie, i framework e gli altri strumenti che incontra regolarmente.

5.2. DevSkiller: test online pronti per l'uso per sviluppatori Node.js

I test di codifica DevSkiller utilizzano la nostra metodologia RealLifeTesting™ per rispecchiare l'ambiente di codifica reale in cui lavora il vostro candidato. Invece di utilizzare oscuri algoritmi, i test DevSkiller richiedono ai candidati di costruire applicazioni o funzionalità. Sono valutati in modo completamente automatico e possono essere sostenuti in qualsiasi parte del mondo. Allo stesso tempo, il candidato ha accesso a tutte le risorse che utilizzerebbe normalmente, tra cui librerie, framework, StackOverflow e persino Google.

Le aziende utilizzano DevSkiller per testare i candidati utilizzando la propria base di codice da qualsiasi parte del mondo. Per semplificare le cose, DevSkiller offre anche una serie di test di competenze di data science già pronti, come quelli qui riportati:

Node.JS
MEDIO
Competenze testate
Durata
87 minuti al massimo.
Valutazione
Automatico
Panoramica del test

Domande a scelta

valutare la conoscenza di JavaScript, Node.JS

Lacune nel codice

valutare la conoscenza di JavaScript, Node.JS, SQL

Attività di programmazione - Livello: Medio

Node.JS | Rest API | News backend service - Implementare un servizio di news backend creato in Node.JS con Vanilla JS, compresa la scrittura di autorizzazioni e API Rest.

TypeScript
JUNIOR
Competenze testate
Durata
51 minuti al massimo.
Valutazione
Automatico
Panoramica del test

Domande a scelta

valutare la conoscenza di Dattiloscritto

Lacune nel codice

valutare la conoscenza di JavaScript, Reagire

Domande a scelta

valutare la conoscenza di HTML, CSS

Attività di programmazione - Livello: Facile

TypeScript | React Hooks | Gestione dello stato dei film - Applicazione completa per la gestione dei film utilizzando React Hooks e implementando la gestione dello stato nelle viste esistenti.

TypeScript
MEDIO
Competenze testate
Durata
73 minuti al massimo.
Valutazione
Automatico
Panoramica del test

Domande a scelta

valutare la conoscenza di JavaScript, Dattiloscritto

Lacune nel codice

valutare la conoscenza di JavaScript, Dattiloscritto

Attività di programmazione - Livello: Medio

TypeScript | NestJS | My Barista App - Coffee Recommendation - Implementare il servizio REST di NestJS per valutare e consigliare tipi di caffè.

TypeScript
MEDIO
Competenze testate
Durata
62 minuti al massimo.
Valutazione
Automatico
Panoramica del test

Domande a scelta

valutare la conoscenza di Dattiloscritto

Lacune nel codice

valutare la conoscenza di JavaScript, Dattiloscritto

Attività di programmazione - Livello: Medio

TypeScript | NestJS | My Barista App - Elenco dei tipi di caffè valutati - Implementare il servizio REST di NestJS per valutare e consigliare i tipi di caffè.

TypeScript
JUNIOR
Competenze testate
Durata
46 minuti al massimo.
Valutazione
Automatico
Panoramica del test

Domande a scelta

valutare la conoscenza di JavaScript, Dattiloscritto

Lacune nel codice

valutare la conoscenza di JavaScript, Dattiloscritto

Attività di programmazione - Livello: Facile

TypeScript | NestJS | My Barista App - Recuperare la valutazione di un tipo di caffè - Implementare una nuova funzione per elencare i tipi di caffè precedentemente valutati nel servizio REST di NestJS per la valutazione dei tipi di caffè.

Node.JS
JUNIOR
Competenze testate
Durata
41 minuti al massimo.
Valutazione
Automatico
Panoramica del test

Domande a scelta

valutare la conoscenza di JavaScript, Node.JS

Lacune nel codice

valutare la conoscenza di JavaScript, Node.JS

Attività di programmazione - Livello: Facile

JavaScript | Node.JS | File system - Utilizza NodeJS per leggere/scrivere file in modo sincrono e asincrono, elencando le directory in modo ricorsivo.

JavaScript
SENIOR
Competenze testate
Durata
85 minuti al massimo.
Valutazione
Automatico
Panoramica del test

Attività di programmazione - Livello: Difficile

HTML/CSS | Pagina iniziale - Completare le definizioni delle proprietà CSS in modo che la pagina visualizzi la schermata splash loader appropriata prima di visualizzare la pagina iniziale.

Attività di programmazione - Livello: Difficile

JavaScript | Memorizzazione funzionale - Scrivere le due versioni del meccanismo di memorizzazione generica.

Angolare
MEDIO
Competenze testate
Durata
101 minuti al massimo.
Valutazione
Automatico
Panoramica del test

Domande a scelta

valutare la conoscenza di Angolare, JavaScript

Lacune nel codice

valutare la conoscenza di Angolare, JavaScript

Attività di programmazione - Livello: Medio

JavaScript | Angular | Moduli reattivi - Preparare un modulo di registrazione utilizzando i moduli reattivi

Reagire
MEDIO
Competenze testate
Durata
113 minuti al massimo.
Valutazione
Automatico
Panoramica del test

Attività di programmazione - Livello: Difficile

JavaScript | React, Redux | Rubrica - Implementare le funzionalità mancanti di una piccola applicazione web React costruita su Redux.

Attività di programmazione - Livello: Medio

JavaScript | Node.js | Rubrica - Implementare endpoint per recuperare l'elenco dei contatti (con una fase di corrispondenza e limitazione dei risultati), recuperare i dettagli di un singolo contatto e cancellare il contatto dato.

Lacune nel codice

valutare la conoscenza di MongoDB

TypeScript
MEDIO
Competenze testate
Durata
126 minuti al massimo.
Valutazione
Automatico
Panoramica del test

Domande a scelta

valutare la conoscenza di Dattiloscritto

Attività di programmazione - Livello: Medio

TypeScript | NestJS | Coffee Recommendation API per l'applicazione My Barista - Implementare il servizio REST di NestJS per valutare e consigliare i tipi di caffè.

Condividi post

Per saperne di più sulle assunzioni nel settore tecnologico

Iscrivetevi al nostro Learning Hub per ricevere utili approfondimenti direttamente nella vostra casella di posta elettronica.

Verifica e sviluppo delle competenze di codifica senza soluzione di continuità.

Guardate i prodotti DevSkiller in azione.

Certificazioni di sicurezza e conformità. Ci assicuriamo che i vostri dati siano sicuri e protetti.

Logo DevSkiller Logo TalentBoost Logo TalentScore