Můžeš vysvětlit rozdíl mezi SSR, CSR a SSG?
Frontend
Co je gRPC a k čemu se používá?
Pověz o architektonických přístupech: FSD, modulární monolit. Jakou architekturu zvolit pro malé MVP?
Jak na klientovi zpracovat dlouhou asynchronní operaci (kontrola souboru na viry, až hodinu)?
Co jsou keyof a typeof v TypeScriptu?
Co se stane z hlediska reflow a repaint při použití display:none vs visibility:hidden?
Co jsou Pick a Omit v TypeScriptu?
// Co se zobrazí v konzoli? 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);
Porušuje změna soukromé metody princip Open/Closed?
```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 ```
Jaké protokoly autentifikace a autorizace znáš? Povídej o JWT.
Kódy stavu HTTP: co znamenají 401, 403, 500, 200, 201?
Jaký je rozdíl mezi REST a GraphQL?
Jaké vlastnosti CSS způsobují pouze Repaint a jaké způsobují Reflow/Layout?
Pověz mi o principech SOLID
Jaké druhy útoků na frontend znáš? Jak se chránit?
Kde lze v prohlížeči uložit data na straně klienta?
Jaký je rozdíl mezi objektově orientovaným programováním a funkcionálním programováním? Co je to čistá funkce?
// Jak optimalizovat tento asynchronní kód v cyklu, aby se promise vykonávaly asynchronně async function processItems() { const items = [1, 2, 3]; for (const item of items) { await new Promise((resolve) => setTimeout(resolve, 100)); console.log(item); } } processItems();