Puoi spiegare la differenza tra SSR, CSR e SSG?
Frontend
Cos'è gRPC e a cosa serve?
Parla di approcci architettonici: FSD, monolito modulare. Quale architettura scegliere per un MVP piccolo?
Come gestire un'operazione asincrona lunga sul client (verifica dei file per virus, fino a un'ora)?
Cosa succede in termini di reflow e repaint con display:none vs visibility:hidden?
Cosa sono Pick e Omit in TypeScript?
Cosa sono keyof e typeof in TypeScript?
La modifica di un metodo privato viola il principio Open/Closed?
Qual è la differenza tra REST e GraphQL?
// Cosa verrà visualizzato nella console? const p1 = Promise.resolve(1); const p2 = new Promise((_, reject) => setTimeout(() => reject("Error"), 100)); const p3 = Promise.resolve(3); Promise.all([p1, p2, p3]) .then(console.log) .catch(console.error); Promise.allSettled([p1, p2, p3]).then(console.log);
Quali protocolli di autenticazione e autorizzazione conosci? Parlami di JWT.
```javascript console.log("Start"); setTimeout(() => { console.log("Timeout 1"); Promise.resolve().then(() => console.log("Promise inside Timeout")); }, 0); Promise.resolve() .then(() => { console.log("Promise 0"); setTimeout(() => console.log("Timeout inside Promise"), 0); }) .catch(() => console.log("Promise 1")) .then(() => console.log("Promise 2")); function foo() { Promise.resolve().then(() => { console.log("Promise 3"); foo(); }); } foo(); requestAnimationFrame(() => { console.log("RequestAnimationFrame"); }); console.log("End"); // Start // END // "Promise 0" // Promise 2 // // Timeout 1 // Promise inside Timeout // RequestAnimationFrame // Timeout inside Promise ```
Codici di stato HTTP: cosa significano 401, 403, 500, 200, 201?
Quali proprietà CSS causano solo Repaint e quali causano Reflow/Layout?
Parla dei principi SOLID
Quali tipi di attacchi frontend conosci? Come proteggersi?
Dove è possibile memorizzare i dati sul client nel browser?
Qual è la differenza tra programmazione orientata agli oggetti e programmazione funzionale? Cos'è una funzione pura?
// Come si può ottimizzare questo codice asincrono in un ciclo affinché le promesse vengano eseguite in modo asincrono async function processItems() { const items = [1, 2, 3]; for (const item of items) { await new Promise((resolve) => setTimeout(resolve, 100)); console.log(item); } } processItems();