Papaskink apie Node.js/Express pagrindu sukurtą pilno paketo programėlę mokėjimo puslapių ženklinimo automatizavimui.
Frontend
Užduotis 6: Parašykite bendrinę funkciją, kuri priima objektą su privalomu savybe name, kurios tipas yra string, ir grąžina eilutę su subjekto pavadinimu.
Kaip dirbote su Git: koks buvo šakų srautas, kaip išleidote versijas, kaip darėte hotfix?
Kuo skiriasi any ir unknown TypeScript? Kodėl linteris nepykina dėl any, bet reikalauja tipo suvaržymo dėl unknown?
/** * Užduotis 4: Paverskite duotąjį tipą `MaybeProps`, kad visos jo savybės būtų privalomos. */ type MaybeProps = { a?: number; b?: string; };
Užduotis 2: Žemiau pateiktos kelios Todo sąsajos deklaracijos, paaiškinkite, kas nutinka, kai jos yra toje pačioje apimtyje. Diskutuokite, kaip TypeScript jas traktuoja ir užpildykite `myTodo` objektą, kad atitiktų sujungtos Todo sąsajos reikalavimus. ```typescript interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; } interface Todo { priority: 'high' | 'medium' | 'low'; completed: string; } const myTodo: Todo = {}; ```
/** * Užduotis 3: Analizuokite žemiau pateiktą funkciją ir pataisykite visas klaidas. Paaiškinkite `never` tipo vaidmenį TypeScript. */ function throwError(): never { throw new Error('Įvyko klaida'); } /** * Užduotis 4: Paverskite duotąjį `MaybeProps` tipą, kad visi jo savybės būtų privalomos. */ type MaybeProps = { a?: number; b?: string; }; /** * Užduotis 5: Sukurkite bendrinį `Container` tipą, kuris turi vieną savybę `value`. * `value` tipas turi būti apribotas iki `string` arba `number`. */ type Container<T> = { value: T; };
Užduotis 7: Yra tipai Alien ir Human, sujungti į tipą Person. Parašykite funkciją checkAlien, kuri patikrina, ar perduotas Person yra ateivis. Ištaisyti TypeScript klaidą, kai prieinama prie savybės isAlien.
Ar turėjai neigiamą patirtį komandoje, pavyzdžiui, intensyvias ginčus kodų peržiūros metu? Kaip elgtumės tokioje situacijoje?
Papaskink apie Astro naudojimą: kaip pasirinkote, kaip valdote turinį?
/** * Užduotis 1: Generikai ir Raktų Tipų Saugumas * Sukurkite funkciją `getProperty`, kuri priima objektą ir raktą. * Naudokite generikus, kad užtikrintumėte, jog funkcija yra tipų saugi ir raktas egzistuoja objekte. */ function getProperty<T extends Record<string, unknown>, K extends keyof T>(obj: T, key: K): T[K] { return obj[key]; } getProperty('str', 'toString') /** * Užduotis 2: Žemiau pateiktos kelios Todo sąsajos deklaracijos, paaiškinkite, kas nutinka, kai jos yra toje pačioje apimtyje. * Aptarkite, kaip TypeScript jas traktuoja ir užpildykite `myTodo` objektą, kad atitiktų sujungtos Todo sąsajos reikalavimus. */ interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; }
Papaskink apie slapukais pagrįstą autentifikaciją ir dviejų veiksnių autorizaciją asmeniniame kabinete.
Kodėl nusprendėte ieškoti darbo ir kodėl pas mus?