Perché sono apparsi le promesse se l'asincronia poteva essere organizzata con generatori? Cosa era scomodo nell'approccio callback?
Frontend
Su cosa stai lavorando attualmente?
In quali casi l'esecuzione di fetch va in catch? Come determinare se la richiesta è riuscita o meno, e da dove proviene lo stato HTTP?
Cosa sai sull'ordine di connessione ed esecuzione degli script: script regolare, async e defer?
Cos'è CORS e quali sono le opzioni per risolvere i problemi di richieste cross-domain?
Quali sono i modi per bypassare gli iscritti memorizzati in un Set?
Tipizza la tua funzione di trasformazione dell'array in TypeScript: definisci i tipi generici necessari per il tipo degli elementi dell'array di origine e il tipo di risultato.
Implementa una funzione memo(fn, lifetime) che restituisce una nuova funzione e memorizza il risultato della funzione originale senza argomenti per un tempo di vita specificato in millisecondi. Deve memorizzare solo l'ultimo risultato, senza chiavi e Map; una chiamata ripetuta entro il lifetime dovrebbe restituire il risultato memorizzato.
Implementa una classe in TypeScript seguendo il pattern 'Observer': memorizza i dati in un oggetto, permette di iscriversi e disiscriversi tramite subscribe/unsubscribe, e notifica gli iscritti al cambiamento dei dati tramite assegnazione. Includi getter e setter; il valore iniziale deve essere un oggetto vuoto.
Descrivi le fasi del rendering di una pagina nel browser: DOM, CSSOM, albero di rendering, layout/reflow, repaint e compositing. Quali proprietà è preferibile animare e perché?
Implementa una coda di attività asincrona con limite di concorrenza: le attività vengono prima aggiunte alla coda, poi avviate dal metodo loop; non più di un numero specificato di attività dovrebbe essere eseguito contemporaneamente. Quando tutte le attività in coda e in esecuzione sono terminate, notificare il completamento della coda.
Implementa una funzione che riprova le richieste fetch più volte in caso di fallimento. Cosa dovrebbe succedere dopo aver esaurito i tentativi?
Cosa succede nel browser dopo aver inserito un URL?
Come può essere implementata una coda di task usando promesse senza flag e contatori? Cos'è un worker nel contesto di una tale coda?