Pracoval jsi někdy s Lighthouse? Představ si, že ti byla svěřena úloha zlepšit metriku FCP (First Contentful Paint). Jaké nápady tě napadají?
Frontend
Stalo se někdy, že v jedné funkci produktu je vráceno hodně polí, zatímco v jiné jen dvě?
const customMap = (array, transform) => { // něco jako array.map(transform); }; const stringResults = customMap([1, 2, 3], item => item.toString()); const lengths = customMap(["ahoj", "svět"], item => item.length);
Jaké jsou problémy v současném přístupu k načítání dat SSR a jak se budou rozrůstat při přidávání nových stránek?
Co se vám v práci nejvíce líbí a co méně? Co vám zabere více času, než byste si přáli?
Jak se rozvíjíte, jak se učíte nové technologie, co vám poslední uvízlo v paměti?
Implementujte funkci foo, která přijímá pole a vrací objekt, kde klíče jsou prvky pole a hodnoty jsou všechny 0.
V jakém okamžiku oznámíš, že to nestihneš?
Co zajímavého a nového jsi se nedávno naučil ve světě frontendu?
Povězte mi o svém posledním místě práce a projektech, na kterých jste pracoval.
Určete pořadí výstupu do konzole pro kód s setTimeout, Promise, then, catch, finally a různými synchronními voláními (úkol na Event Loop).
Co se může dít na serveru při generování HTML (SSR) — na co server tráví čas, jaké mohou být problémy s výkonem a bezpečností při serializaci dat?
Jaký je rozdíl mezi použitím hasOwnProperty a přímým kontrolováním hodnoty přes podmínku (if o[x])? Co se stane, pokud je hodnota vlastnosti false?
Jaká vylepšení by mohla být provedena ke zvýšení kvality produktu v budoucnu?
Jak zajistit podporu moderním formátům obrázků (WebP, AVIF) v prohlížečích, které je nepodporují?
Na co je React.lazy? Jaký přínos přináší a jak funguje na pozadí?
Implementujte funkci memoize, která ukládá výsledky volání asynchronních funkcí do mezipaměti a neodesílá opakovanou žádost, pokud bylo volání se stejnými argumenty již provedeno.
<script> function sum(valueA) { throw 'Nepoužito' } console.log(sum(1)()); // 1 console.log(sum(1)(2)()); // 3 console.log(sum(1)(2)(-3)()); // 0 </script>
Existuje funkce customMap, která dělá téměř to samé jako běžná metoda map pole, ale není typizovaná. Je třeba ji typizovat tak, aby na pátém řádku byl pole řetězců, a na sedmém řádku pole čísel.
Je třeba napsat funkci memoize — obal pro memoizaci. Pro zjednodušení lze předpokládat, že funkce bude mít vždy pouze jeden argument, a to bude primitivní hodnota.