Frontend
Egy reklámhálózat prototípusában a reklámhelyek értékesítése a következőképpen működik: a vásárlók előre megadják az árukat, és minden reklámhelyre válaszolnak, hogy meg akarják-e vásárolni vagy sem. Egy függvényt kell megvalósítani, amely az értékesítés előtt megvárja a magas ajánlatot tevő vásárlók elfogadását vagy elutasítását, majd a legmagasabb ajánlatot tevő vásárlónak adja el a reklámhelyet, aki elfogadta. A függvény válaszát a lehető leggyorsabban kell visszaadni. Vissza kell adni a vásárló indexét. Példák: A vásárlók ajánlatokat tesznek 1, 5, 10 A 10-es ajánlattevő elutasította Az 1-es ajánlattevő elfogadta // Még várunk, mert a 5-ös ajánlattevő is válaszolhat A 5-ös ajánlattevő elfogadta // A 5-ös ajánlattevőt választjuk ------------ A vásárlók ajánlatokat tesznek 1, 5, 10 A 10-es ajánlattevő elutasította A 5-ös ajánlattevő elfogadta // Nem várunk többé az 1-es ajánlattevő válaszára - biztosan nem lesz kiválasztva ------------ A vásárlók ajánlatokat tesznek 1, 2 Az 1-es ajánlattevő elutasította A 2-es ajánlattevő elutasította // Egyiket sem választjuk interface Buyer { price: number; accepts: () => Promise<boolean>; } async function bestBuyer(buyers) { const sorted = buyers.map((buyer, index) => ({buyer, index})).sort((a, b) => a.buyer.price - b.buyer.price); const promise = sorted.map(({buyer}) => buyer.accepts()); for (let i = 0; i < sorted.length; i++) { const accepted = await promise[i]; if (accepted) { return sorted[i].index; } } if (await buyers[0].accepts()) { return 0; } return -1; }
Mit tegyünk a React-alkalmazás (Web Vitals) teljesítményének optimalizálásához?
Mit szeretnél az új munkától? Mitől fejlődnél?
Valósítsa meg az asyncAuth függvényt visszahívási felülettel, amely Promise-t ad vissza. Ezután valósítsa meg a tryAuth(n) függvényt, amely az asyncAuth-t használja, és hibát esetén n további próbálkozást tesz. Ha minden próbálkozás kudarcot vall, visszaadja az utolsó hibát.
Mi az a fedett index és hogyan segít?
Hogyan működik az enum a TypeScript-ben — mi történik a kulcsokkal és értékekkel, ha az értékeket nem adják meg, vagy explicit módon vannak megadva?
Három kódrészlet van megadva. Minden console.log eredményét írja le. var n = 1; function f(n) { n = 3; } f(n); console.log(n); // ?? // ------------------ var obj = { a: 1 }; function f1(o) { o.a = 5; } f1(obj); console.log(obj); // ?? // ------------------ var obj = { a: 1 }; function f2(o) { o = { hello: 1 }; } f2(obj); console.log(obj); // ??
Miért van valójában szükség a React listákban a kulcsra (key)?
Mi történik, ha az egyik ígéret elutasításra kerül a sumPromises függvényben?
Hogyan hasonlítja a React a propokat? Hogyan működik a felületi összehasonlítás?
React Comments és CommentsEditor komponensek kódjának áttekintése: találjon logikai és UX problémákat a kódban (pl. helytelen index mentése a roló bezárásakor, problémák az érték frissítésével a props változásakor).
Beszéljen a React-komponens életciklusáról: a főbb szakaszok a mount, render és unmount.
Lehet-e típusozni az akkumulatort a reduce-ben nem AS-sel, hanem generikusokkal? Automatikusan kiszámítható-e a visszatérési érték típusa a megadott objektum alapján TypeScript típusok segítségével?
Mit fog még figyelembe venni új termékhez kapcsolódó technológiák és megközelítések kiválasztásakor?
Mi az eseménykezelés a React-ben? Mi az a szintetikus esemény?
Mit tudsz a JavaScript-ben lévő kontextusról?
Van tapasztalatod tesztek írásában? Milyen teszteket írtál és milyen mennyiségben?
Mesélj a Git-tel végzett munkádról: hogyan voltak felépítve az ágak, hogyan dolgoztál velük csapatban?
Említette az UI-kit-et. Melyik komponens volt a legnehezebb vagy legérdekesebb megvalósítani, és melyik jelentette a legnagyobb kihívást?
Milyen problémák merülnek fel a postMessage használata során?