Frontend
Co jsou typy any, unknown, never a void v TypeScript? V čem se liší?
Podívej se na kód: proč se komponenta App znovu vykreslí při kliknutí na tlačítko 'Render', a proč se komponenta Child znovu vykreslí při zadávání textu do inputu?
#React registrační formulář 1. Vysvětlete, jak funguje StateProvider, sdílejte své myšlenky s tazatelem. 2. Podívejte se na /src/api/mock, vysvětlete, jak to funguje. 3. Zkontrolujte barvu tlačítka SubmitButton a opravte ji. 4. Implementujte validaci formuláře klienta v komponentě Signup. (* ) Mějte na paměti číslo úkolu 9. Pravidla: - Pole Uživatelské jméno, E-mail, Heslo, Opakovat heslo by měla mít alespoň 6 znaků; - Heslo by mělo odpovídat Opakovat heslo; - Validace by měla být provedena po kliknutí na tlačítko "Zaregistrovat se"; - Pole s neplatnými hodnotami by měla být označena (props error a helperText); 6. Odpověď API může obsahovat chybu, která by měla být zobrazena uživateli v blízkosti příslušného pole. 7. Ujistěte se, že komponenta UserName zobrazuje nové uživatelské jméno po úspěšném odeslání. 8. Implementujte nový komponent SignupSuccess. Měl by být zobrazen místo registračního formuláře. 9. Implementujte serverovou validaci pro příslušná pole.
Co jsou Props v Reactu?
Jaké vzory opětovného použití existují v Reactu? Co jsou Compound Components?
Pověz o nějakém složitém rozhodnutí, které jsi musel navrhnout a vyvinout od začátku.
Jak strukturovat vývoj tak, aby při růstu počtu vývojářů (včetně backendů, kteří zasahují do frontendu) bylo co nejméně konfliktů?
Můžete uvést konkrétní příklad knihovny, která při aktualizaci Angular (například na verzi 16) nedovolila dokončení sestavení? V čem přesně spočívala podstata problému a jak jste ho vyřešili?
Povězte nám o sobě a o své poslední pracovní zkušenosti.
Jak typizovat odpověď API, pokud smlouva není dokonalá?
const func = obj.sayHi() const boundFuns = func.bind(obj) boundFuns() ------------------- const submit = (el) => () => { log(el); } arr.map(el => <button onClick={submit(el)}/>) const param = useMemo(() => a + b) return <Child value={param} />
Pověz o výhodách a problémech mikrofrontendů.
Jak si vybíráte, kde použít Angular Signals a kde RxJS?
Jaký typ dědičnosti se používá v JavaScriptu? Existuje vícenásobná dědičnost u tříd?
/* * Funkce, která napodobuje požadování dat ze backendu. * Backend má omezení RPS a selže, * pokud je počet paralelních požadavků větší než MAX_PARALLEL_REQUESTS. */ function requestData(id: number): Promise<string> { parallelRequests++; if (parallelRequests > MAX_PARALLEL_REQUESTS) { throw new Error("Příliš mnoho paralelních požadavků"); } return new Promise((res) => { setTimeout(() => { parallelRequests--; return res(`${id * 2}`); }, Math.floor(Math.random() * 2000)) }); } function prepareData( ids: number[], maxParallelRequests: number, ): Promise<string[]> { /* * TODO: implementujte požadování všech dat, * s použitím nejvýše maxParallelRequests * paralelních spojení. */ }
Upřesnění: byla aplikace desktopová v prohlížeči nebo nativní?
Existoval nějaký formát systémové analýzy nebo jste jen slovně rozebírali a zapisovali body do úkolu? Byl nějaký dokument nebo stránka v Confluence s popisem toho, co je třeba udělat?
K čemu slouží klíčové slovo infer v TypeScriptu?
Jaké jsou výhody a nevýhody přístupu s častými vydáními (nepřetržité nasazení) ve srovnání s plánovanými vydáními?
Řekněte nám více o offline funkčnosti: jak funguje ukládání dat v IndexedDB při ztrátě internetu?