Porozprávaj o fullstack aplikácii v Node.js/Express na automatizáciu brandingu platobných stránok.
Frontend
Úloha 6: Napíšte generickú funkciu, ktorá prijíma objekt s povinnou vlastnosťou name typu string a vracia reťazec s názvom entity.
Ako ste pracovali s Git: aký bol tok vetvenia, ako ste vydávali verzie, ako ste robili hotfix?
Aký je rozdiel medzi any a unknown v TypeScript? Prečo na any linter nezazlieva, ale na unknown vyžaduje zúženie typu?
/** * Úloha 4: Transformujte daný typ `MaybeProps`, aby všetky jeho vlastnosti boli povinné. */ type MaybeProps = { a?: number; b?: string; };
Úloha 2: Vzhľadom na nižšie uvedené viaceré deklarácie rozhrania Todo, vysvetlite, čo sa stane, keď sú prítomné v rovnakom rozsahu. Diskutujte o tom, ako s nimi zaobchádza TypeScript a vyplňte objekt `myTodo`, aby spĺňal požiadavky zlúčeného rozhrania Todo. ```typescript interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; } interface Todo { priority: 'high' | 'medium' | 'low'; completed: string; } const myTodo: Todo = {}; ```
Úloha 7: Existujú typy Alien a Human, ktoré sú spojené v type Person. Napíšte funkciu checkAlien, ktorá overí, či je odovzdaná osoba cudzinec. Opravte chybu TypeScript pri prístupe k vlastnosti isAlien.
/** * Úloha 3: Analyzujte nasledujúcu funkciu a opravte všetky chyby. Vysvetlite úlohu typu `never` v TypeScript. */ function throwError(): never { throw new Error('Vyskytla sa chyba'); } /** * Úloha 4: Transformujte daný typ `MaybeProps`, aby všetky jeho vlastnosti boli povinné. */ type MaybeProps = { a?: number; b?: string; }; /** * Úloha 5: Vytvorte generický typ `Container`, ktorý obsahuje jedinú vlastnosť `value`. * Typ `value` by mal byť obmedzený na `string` alebo `number`. */ type Container<T> = { value: T; };
Mal si negatívne skúsenosti v tíme, napríklad intenzívne spory pri code review? Ako by si postupoval v takej situácii?
Povedaj mi o použití Astro: ako ste si ho vybrali, ako spravujete obsah?
/** * Úloha 1: Generiká a Bezpečnosť Kľúča Typu * Vytvorte funkciu `getProperty`, ktorá prijíma objekt a kľúč. * Použite generiká na zabezpečenie, že funkcia je typovo bezpečná a že kľúč existuje v objekte. */ function getProperty<T extends Record<string, unknown>, K extends keyof T>(obj: T, key: K): T[K] { return obj[key]; } getProperty('str', 'toString') /** * Úloha 2: Nižšie sú uvedené viaceré deklarácie rozhrania Todo, vysvetlite, čo sa stane, keď sú prítomné v rovnakom rozsahu. * Diskutujte o tom, ako s nimi zaobchádza TypeScript a vyplňte objekt `myTodo`, aby vyhovoval požiadavkám zlúčeného rozhrania Todo. */ interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; }
Porozprávaj o autentifikácii založenej na cookies a dvojfaktorovej autorizácii v používateľskom paneli.
Prečo ste sa rozhodli hľadať prácu a prečo u nás?