Можеш ли објаснити разлику између SSR, CSR и SSG?
Frontend
Šta je gRPC i zašto se koristi?
Ispričaj o arhitektonskim pristupima: FSD, modularni monolit. Koju arhitekturu odabrati za mali MVP?
Kako na klijentu obraditi dugu asinhornu operaciju (provera fajla na viruse, do sat vremena)?
Šta će se desiti u pogledu reflow i repaint pri korišćenju display:none vs visibility:hidden?
Šta su keyof i typeof u TypeScript-u?
Šta su Pick i Omit u TypeScript-u?
// Шта ће се приказати у конзоли? 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);
Da li promena privatne metode krši 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 ```
Koje protokole za autentifikaciju i autorizaciju poznaješ? Pričaj o JWT.
HTTP статус кодови: шта значе 401, 403, 500, 200, 201?
Koja je razlika između REST i GraphQL?
Koje CSS osobine izazivaju samo Repaint, a koje izazivaju Reflow/Layout?
Ispričaj mi o SOLID principima
Koje vrste napada na frontend poznaješ? Kako se zaštititi?
Gde u pregledaču možete čuvati podatke na klijentskoj strani?
Koja je razlika između objektno-orijentisanog programiranja i funkcionalnog programiranja? Šta je čista funkcija?
// Kako optimizovati ovaj asinhroni kod u petlji da bi se promises izvršavali asinhrono async function processItems() { const items = [1, 2, 3]; for (const item of items) { await new Promise((resolve) => setTimeout(resolve, 100)); console.log(item); } } processItems();