Le Domande da Colloquio Angular da Aspettarsi

Di Aaron Cao · Aggiornato il

Le Domande da Colloquio Angular da Aspettarsi
Aspettati prima la change detection: cosa attiva un check, cosa cambia OnPush e come si inseriscono i signals. Poi dependency injection, scelta degli operatori RxJS e pulizia delle subscription. La maggior parte dei colloqui aggiunge un esercizio live, di solito una ricerca typeahead costruita con un service, debounceTime e switchMap.

Aspettati prima la change detection: cosa attiva un check, cosa cambia OnPush e come si inseriscono i signals. Poi dependency injection, scelta degli operatori RxJS e pulizia delle subscription. La maggior parte dei colloqui aggiunge un esercizio live, di solito una ricerca typeahead costruita con un service, debounceTime e switchMap.

Quali concetti Angular vengono chiesti più spesso?

La superficie API di Angular è ampia, e le liste di domande pubblicate trattano ogni decorator come se avesse la stessa probabilità di comparire. Non è così. Questa sezione copre le aree che decidono davvero la maggior parte dei colloqui, così la tua pratica corrisponde alla distribuzione reale. Quattro gruppi dominano:

  • Change detection: cosa attiva un check, come Zone.js applica patch alle API asincrone, cosa cambia OnPush e come i signals permettono ad Angular di saltare del lavoro.
  • Dependency injection: injector gerarchici, providedIn, injection token e la funzione inject() contro i parametri del costruttore.
  • RxJS: observable contro promise, scegliere l'operatore giusto e ripulire le subscription prima che un componente venga distrutto.
  • Architettura dei componenti: componenti standalone, input e output, content projection e lifecycle hook.

La consapevolezza delle versioni conta più qui che nella maggior parte dei colloqui su altri framework, perché Angular ha cambiato direzione. Componenti standalone, i blocchi di control flow integrati @if e @for, le deferrable view e i signals sono arrivati tutti nelle versioni maggiori recenti, quindi chi intervista spesso chiede cosa scriveresti oggi rispetto a cosa usa una codebase più vecchia. Conoscere entrambi, e sapere perché il framework si è evoluto, fa un'impressione migliore che schierarsi da una parte.

Quanto sono approfondite le domande su RxJS e signals?

Più a fondo dei semplici nomi degli operatori. La domanda RxJS che separa i livelli è quale operatore di flattening si adatta: switchMap annulla la richiesta interna precedente ed è adatto a un typeahead, mergeMap esegue tutto in parallelo, concatMap preserva l'ordine e exhaustMap ignora i nuovi eventi finché uno è ancora in corso, per questo è adatto a un pulsante di invio. Chi intervista poi fa la domanda sulla perdita: cosa succede a una subscription manuale quando il componente viene distrutto, e perché l'async pipe o takeUntilDestroyed eliminano il problema.

Le domande sui signals sono più recenti e di solito partono dalla motivazione piuttosto che dall'API. Aspettati di spiegare cos'è un signal, come computed ne deriva uno, a cosa serve un effect, e perché i signals danno ad Angular un modo più granulare di sapere cosa è cambiato rispetto a ricontrollare un intero albero di componenti. Una buona risposta collega i due argomenti: signals e OnPush riducono entrambi il lavoro che fa la change detection, ma i signals lo fanno tracciando le letture invece di restringere quando gira un check.

Chi intervista non si aspetta che tu abbia già usato ogni funzionalità recente. Si aspetta che tu dica in quale versione hai lavorato l'ultima volta e che tu ragioni con chiarezza sul resto.

Quali esercizi di live coding devi aspettarti?

La maggior parte dei colloqui Angular include la costruzione di qualcosa di piccolo mentre chi intervista osserva. Gli esercizi ricorrenti sono stabili tra le aziende:

  • Chiamare un'API da un service e renderizzare il risultato con l'async pipe.
  • Costruire una ricerca typeahead con debounceTime, distinctUntilChanged e switchMap.
  • Scrivere un reactive form con un validator personalizzato e stati di errore visibili.
  • Passare dati tra un componente parent e uno child, poi spostarli in un service.
  • Aggiungere una rotta con un componente lazy-loaded e una guard.

Un front-end engineer che sostiene un colloquio per un ruolo di prodotto di livello medio, per esempio, potrebbe costruire il typeahead, e poi essere incalzato su cosa succede quando le risposte arrivano fuori ordine, come mostrare uno stato di caricamento e cosa dovrebbe succedere quando l'utente cancella l'input. Quelle estensioni sono dove si decide il colloquio, quindi esercita i follow-up più che il percorso ideale. I set adiacenti con cui i colloqui Angular si aprono ancora spesso, incluse le basi di puro JavaScript e TypeScript, sono nell'hub delle banche di domande.

Come ci si esercita in modo che si trasferisca al colloquio reale?

Leggere una lista di domande costruisce riconoscimento, non richiamo, e il colloquio testa il richiamo mentre qualcuno osserva. La soluzione è ripetere nella forma reale del colloquio: costruisci gli esercizi standard partendo da un progetto vuoto, narra ad alta voce le decisioni di change detection e subscription mentre digiti, e assorbi le interruzioni senza perdere il filo. Eseguire il set come una prova parlata, una domanda alla volta con follow-up, è ciò a cui serve la pratica di mock interview.

Un limite che vale la pena dichiarare chiaramente: i colloqui live Angular quasi sempre girano in un editor condiviso o con il tuo schermo visibile, e tutto ciò che è su quello schermo è visibile a chi intervista. Un assistente appartiene alla preparazione e ai colloqui guidati dalla conversazione, non a uno schermo condiviso. Quali formati permettono cosa è trattato in tipi di colloquio.

FAQ

Devo ancora conoscere gli NgModules?

A livello di lettura, sì. Molto Angular in produzione gira ancora su NgModules, quindi aspettati domande su cosa dichiarava un modulo e su come providedIn ha sostituito la maggior parte degli array di provider. Le domande sul codice nuovo si fanno sui componenti standalone, che sono l'impostazione predefinita nelle versioni recenti.

AngularJS è la stessa cosa di Angular?

No, e chi intervista a volte lo verifica. AngularJS è la linea 1.x con scope, digest cycle e controller. Angular dalla versione 2 in poi è un framework separato costruito su TypeScript e componenti. Se una descrizione del lavoro dice AngularJS, conferma a quale si riferiscono prima di prepararti.

Quanto RxJS mi serve se il team usa i signals?

Ancora molto. I signals coprono bene lo state dei componenti, ma le chiamate HTTP, gli eventi del router e i flussi di valori dei form sono observable, quindi la scelta degli operatori e la pulizia continuano a comparire. I team mescolano entrambi, e spiegare dove si inserisce ciascuno è una domanda senior comune.

Chi intervista chiede del testing?

Di solito come strategia più che come richiamo di API. Aspettati cosa testeresti a livello di componente contro end to end, come TestBed configura un componente e come simuleresti un service. Nominare il compromesso conta più che recitare un matcher.

Di quante versioni di Angular dovrei sapere parlare?

Quella in cui hai lavorato, più ciò che è cambiato da allora. Chi intervista chiede dei componenti standalone, dei blocchi di control flow e dei signals perché quelle risposte segnalano attualità. Dire in quale versione hai rilasciato l'ultima volta e ragionare con chiarezza sul resto è una risposta completa.

Domande correlate

← Altro su Domande da colloquio per ruolo e argomento