Hai esperienza con Docker?
Frontend
Parla del componente select personalizzato.
Compito di RxJS: c'è un Observable a cui ci si iscrive tre volte nel template. Come fare una sola sottoscrizione invece di tre, senza usare direttamente il pipe async? In cosa Subject e BehaviorSubject differiscono da un Observable normale (flusso caldo vs freddo)?
Come risolvere il problema con trackBy se ci sono valori duplicati nell'array e non c'è un identificatore univoco?
Compito di JavaScript: scrivere una funzione che accetta due array e restituisce un array degli elementi presenti solo in uno dei due array (differenza simmetrica). Valutare la complessità dell'algoritmo.
Hai esperienza nella scrittura di librerie UI proprie o librerie di componenti?
Compito CSS: tre blocchi div impilati uno sopra l'altro, ognuno con un margin-top di 10px e un margin-bottom di 30px. Quale sarà la distanza tra i blocchi? Cosa cambierà se sostituiamo div con span?
Come si comporta il rendering quando si modifica un elemento della lista? A cosa serve trackBy?
Parla dei componenti personalizzati che hai scritto basandoti sulla libreria NgZorro (NzZor). Ad esempio, un datepicker con restrizioni commerciali nei fine settimana.
Il componente genitore utilizza la strategia OnPush, quello figlio — Default. Cosa succede al componente figlio in caso di modifiche? In quale direzione avviene il controllo del rilevamento delle modifiche — dall'alto verso il basso o dal basso verso l'alto?
Esercizio TypeScript: c'è una classe Animal con metodi move e bark, e una funzione process che accetta un animale di tipo Animal e chiama il suo metodo bark. Ci sarà un errore TypeScript? Come restringere correttamente il tipo? Come scrivere un type guard?
Compito di JavaScript: determinare il tipo (typeof) per diverse espressioni — new Array(), oggetto, Map, numero, Infinity, risultato della concatenazione di stringhe e numeri.
Qual è la differenza tra le strategie di rilevamento delle modifiche OnPush e Default? Perché usare OnPush?
Perché nel tuo progetto non si passa a una versione più recente di Angular?
È stato implementato il supporto della tastiera nel datepicker personalizzato?
Parlami della tua esperienza negli ultimi 3-4 anni. Quali compiti hai risolto?
Compito di RxJS: determinare l'output utilizzando combineLatest con due stream con ritardi diversi. Cosa mostrerà forkJoin?
Compito di RxJS: ottimizzare la catena di operatori (pipe con filter, toLowerCase, switchMap). Spiegare perché si utilizza switchMap, in cosa differisce da concatMap e exhaustMap. Quale operatore è migliore per gestire le richieste di pagamento?
Perché lasci il tuo attuale lavoro e cosa cerchi in un nuovo?
Hai esperienza con WebSocket? Con GraphQL?