Il colloquio tecnico JavaScript per un junior developer: come affrontarlo serenamente?

Parte 1

Pubblicato il 09/04/2025

placeholder imageza junior dev felice e rilassata davanti ad uno schermo durante un colloquio tecnico

Ti è mai capitato di avere dubbi sulla differenza fra let e const?
O magari di andare nel panico davanti ad un semplice esercizio con array e oggetti, finendo per usare metodi casuali o improbabili nella speranza di risolvere in fretta?

Se sì, lascia che ti dica che sei in buona compagnia! Voglio darti anche una buona notizia: il colloquio tecnico non è fatto per metterti in difficoltà, ma per verificare se hai chiaro il quadro generale, la tua capacità di ragionare (ed è bene farlo ad alta voce), e la voglia di crescere e imparare. È tutta questione di empatia e logica, più che di semplice memoria.

Vediamo insieme alcune tra le domande JavaScript più frequenti nei colloqui per junior developer, per prepararti al meglio sotto ogni aspetto.

Prima cosa: le domande teoriche che devi conoscere

Non ti devi preoccupare di sapere tutto. Ma ci sono alcune basi che da junior developer devi necessariamente conoscere e capire con chiarezza.

Vediamo insieme qualche esempio:

Quale differenza c'è tra let e const?

Una delle domande classiche di JavaScript riguarda la dichiarazione delle variabili:

  • let permette di dichiarare variabili riassegnabili, ovvero a cui possiamo riassegnare un nuovo valore.
  • const serve a definire variabili che non possiamo riassegnare, cioè una volta dichiarate rimarranno associate a quel valore.

NOTA
Parlo di assegnazione e ri-assegnazione e NON di modifica.

let age = 25;
age = 26; // ✅ Nessun problema qui!

const city = "Roma";
city = "Milano"; // ❌ Errore! Non possiamo riassegnare il valore di una costante.

Tieni a mente: con const puoi modificare il contenuto se si tratta di un oggetto oppure di un array.

Per esempio:

const arr = [1, 2, 3];
arr.push(4); // ✅ Nessuno problema, stai modificando internamente l'array
console.log(arr); // [1,2,3,4]

arr = [10, 20]; // ❌ Errore, array già dichiarato come const

Differenza tra dichiarare e invocare una funzione?

Questo è un altro punto fondamentale che devi conoscere chiaramente:

  • Dichiarare una funzione significa definire ✏️ ciò che farà quando verrà chiamata. Semplicemente la definizione della logica.
  • Invocarla significa chiamarla 📣, chiedere effettivamente a JavaScript di eseguire quella logica.

Per esempio:

// Qui dichiariamo (definiamo) la funzione
function saluta(nome) {
  return `Ciao ${nome}!`;
}

// Qui invochiamo (chiamiamo) la funzione definita sopra
const saluto = saluta("Marco"); // restituirà 'Ciao Marco!'

Domande pratiche: analizziamo insieme due casi reali che spesso metto davanti ai miei studenti durante le simulazioni di colloquio tecnico

1. Scrivi la logica del metodo filter() usando un ciclo for

Questa domanda non serve tanto per vedere se sai a memoria come funziona filter(), ma soprattutto per verificare la tua capacità di ragionare passo dopo passo.

Una buona pratica qui è pensare ad alta voce. Anche se hai dubbi o se ti sei reso conto di aver fatto un errore mentre scrivi, dillo in voce alta. In questo modo mi fai capire che stai ragionando e che sai riconoscere la strada giusta dalla strada sbagliata. In sostanza sai fare debugging del tuo pensiero, non solo del tuo codice.

Ecco un semplice esempio che mostra come ottenere tutti i numeri pari da un array di interi:

// Filter con ciclo for
const numeri = [1,2,3,4,5];
let result = []; // qui conservo i dati filtrati

for(let i = 0; i < numeri.length; i++) {
    if(numeri[i] % 2 === 0) {
        result.push(numeri[i]); // se elemento passa il test, lo aggiungo a result
    }
}

console.log(result); //[2,4]

💡 Cosa puoi fare di positivo in questa situazione?

  • Ragionare passo dopo passo (ottimo 👏).
  • Mostrare che hai compreso logiche semplici: il ciclo for, la condizione if e come leggere e aggiungere elementi in un array.
  • Correggere da solo eventuali errori che potresti fare nel codice, spiegandoli chiaramente👩‍💻 (es. il ciclo non parte, l'array non viene popolato, etc...)

🚩 Cosa potresti fare che sarà considerato negativo?

  • Scrivere codice "a caso" sperando che funzioni.
  • Fare correzioni casuali senza guardare o leggere bene i messaggi di errore in console.

2. Trova il numero più piccolo/grande dentro un array

Attenzione! Spesso davanti a questa richiesta capita che gli studenti pensino subito di utilizzare metodi come filter() o find() in modo improprio 🚨. Se ti dovesse succedere, nessun problema: puoi sempre correggerti mostrando che hai capito l'errore. Questa capacità di autocorreggerti è importantissima e mostrarla in un colloquio ti fa guadagnare punti!

La soluzione ideale per un junior developer prevede l'uso del ciclo for. Esistono anche altri metodi (es. reduce), ma da uno sviluppatore junior è preferibile vedere la conoscenza di strumenti base piuttosto che di strumenti avanzati, in cui anche il debug è più complesso.

Vediamo una semplice soluzione:

const numeri = [10, 2, 45, 33, 100, 8];

// Inizializzo con il primo elemento dell'array
let piuPiccolo = numeri[0];

for(let i = 1; i < numeri.length; i++) {
  if (numeri[i] < piuPiccolo) {
    piuPiccolo = numeri[i]; // aggiorno numero più piccolo
  }
}

console.log(piuPiccolo); // 2

💡 Cosa puoi fare di positivo in questa situazione?

  • Capire perchè inizializzi con un numero preso dall'array.
  • Spiegare perchè scegli un approccio piuttosto di un altro (es. perché for e non reduce).
  • Pensare al perché filter() o find() non siano appropriati.
  • Leggere e comprendere eventuali errori. Potrebbero essere errori di sitassi mostrati in console, ma anche errori logici che portano a risultati inaspettati! Mostra che sai ragionare su quello che succede nel codice.

🚩 Cosa potresti fare che sarà considerato negativo?

  • Provare metodi casuali senza capire la logica.
  • Non capire cosa stai scrivendo quando definisci il ciclo for.
  • Non saper spiegare perché il codice funziona o non funziona.

Impara ad affrontare il colloquio nel modo giusto: niente panico, mantieni la calma, ragiona e parla chiaramente!

Ricorda: chi ti farà il colloquio tecnico è consapevole che sei junior, quindi non si aspetterà che tu sappia tutto. Vuole solo capire se hai la mentalità giusta, la curiosità, la voglia di cercare informazioni e l'abilità di ragionare, correggere gli errori e lavorare in modo consapevole e analitico 📚.

È comprensibile essere nervosi ai colloqui, ma concentrati sulla logica e soprattutto non lasciare che il panico ti faccia perdere lucidità 💪

🚀 Vuoi qualche dritta in più sui colloqui tecnici o vorresti fare una simulazione?

Se dopo questa chiacchierata hai ancora dubbi e vuoi qualche dritta più dettagliata, contattami senza problemi qui oppure su LinkedIn per un meeting one-to-one oppure una simulazione di colloquio. Ricorda, non esistono domande stupide, ma solo dubbi che hanno bisogno di essere chiariti! 🌱

Happy coding, e a presto! 🚀😎

Noi e terze parti selezionate utilizziamo cookie o tecnologie simili per finalità tecniche e, con il tuo consenso, anche per le finalità di funzionalità come specificato nella cookie policy.

Puoi liberamente prestare, rifiutare o revocare il tuo consenso, in qualsiasi momento, accedendo al pannello delle preferenze. Il rifiuto del consenso può rendere non disponibili le relative funzioni.

Usa il pulsante “Accetta” per acconsentire. Usa il pulsante “Rifiuta” o chiudi questa informativa per continuare senza accettare.