Parte 1
Pubblicato il 09/04/2025
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.
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:
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
Questo è un altro punto fondamentale che devi conoscere chiaramente:
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!'
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?
for
, la condizione if
e come leggere e aggiungere elementi in un array
.🚩 Cosa potresti fare che sarà considerato negativo?
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?
for
e non reduce
).filter()
o find()
non siano appropriati.🚩 Cosa potresti fare che sarà considerato negativo?
for
.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à 💪
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! 🚀😎