Jak funguje Event Loop? Jaké jsou fronty a v jakém pořadí se provádějí? Vysvětlete mikroúkoly, makroúkoly, requestAnimationFrame, requestIdleCallback.
Frontend
Napište implementaci pomocníka Promise.withResolvers() — funkce, která vytvoří Promise a vrátí objekt se třemi vlastnostmi: promise, resolve a reject.
Odpověď API může obsahovat chybu, která by měla být uživateli zobrazena vedle příslušného pole.
Byla to služba B2B nebo B2C? Byly nějaké metriky pro sledování chyb a uživatelské zkušenosti?
Existuje filtr s záložkami. Při rychlém přepínání mezi záložkami se někdy zobrazí staré hodnoty, které nesouvisí s aktuální záložkou. Jaká je příčina a jak to opravit?
Co lze udělat s obrázky pro optimalizaci výkonu stránky?
Představte si stránku s mnoha kartami a lazy loadingem (jako na Stripchat). Jaké krajní případy vidíte, jaké problémy mohou nastat, co byste optimalizovali? Jak funguje virtualizace (React Window)?
Podívejte se na tento kód s SSR a singleton i18n třídou. Najděte vážný problém, který může pokazit HTML odesílané uživateli. Jak ho opravit?
Nem můžeme přidávat tagy ani verzovat přes CI/CD. Klient může být jedné verze, backend jiné. Co lze v těchto podmínkách udělat kromě sledování chyb přes Sentry?
Je třeba vytvořit dopravní značku v jednom divu, včetně malé červené značky napravo.
Máme velký projekt v monorepo s jednotným procesem vydání. Rozhodli jsme se ho rozdělit a frontend přesunout do samostatných repozitářů s vlastním cyklem vydání. Vzniká problém nesynchronizace verzí mezi backendem a klientem. Jak bys viděl řešení tohoto problému? Jak organizovat práci, aby ses co nejvíce chránil před poruchami v produkci?
Proč se uživatelé nedostanou do obchodu a jak načíst uživatele do obchodu?
Jaké reduktory má Store a je tam nějaký reduktor pro umístění uživatelů?
Co může blokovat první vykreslení v prohlížeči po obdržení HTML? Co lze udělat se synchronním načítáním JS a CSS?
Kde byl uložen normalizovaný cache? Byl nějak reaktivní?
Uvedl jste, které dotazy vracejí entity, nebo jak to fungovalo, když jste byl blízko dotazu?
Při navigaci ze stránky seznamu uživatelů na stránku konkrétního uživatele je dlouhé načítání (loader zůstává 2 sekundy kvůli umělému zpoždění). Jak lze tuto situaci zlepšit?
Podívej se na funkci v editoru: přijímá pole klíčů a objekt, a pomocí reduce kopíruje pouze objekt s uvedenými klíči. Jak bys nazval tuto funkci?
Kdybys měl volnou ruku, jaký ideální tvar bys vytvořil? Jaké přístupy, technologie a metody bys použil (validace, zpracování chyb, UX, DX)?
Vidíme, že SSR za 2 sekundy nic ne vrací. Jaké jsou možnosti, jak to zlepšit?