Parla di un'applicazione fullstack in Node.js/Express per automatizzare la personalizzazione delle pagine di pagamento.
Frontend
Compito 6: Scrivi una funzione generica che accetta un oggetto con una proprietà obbligatoria chiamata name di tipo stringa e restituisce una stringa con il nome dell'entità.
Qual è la differenza tra any e unknown in TypeScript? Perché il linter non si lamenta di any, ma richiede una restrizione di tipo per unknown?
Come hai lavorato con Git: qual è stato il flusso di branching, come hai rilasciato, come hai fatto hotfix?
/** * Compito 4: Trasforma il tipo dato `MaybeProps` per rendere tutte le sue proprietà obbligatorie. */ type MaybeProps = { a?: number; b?: string; };
Compito 2: Data la presenza di più dichiarazioni di interfaccia Todo di seguito, spiega cosa succede quando sono presenti nello stesso ambito. Discuta di come TypeScript le tratta e riempi l'oggetto `myTodo` per soddisfare i requisiti dell'interfaccia Todo unificata. ```typescript interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; } interface Todo { priority: 'high' | 'medium' | 'low'; completed: string; } const myTodo: Todo = {}; ```
Hai avuto un'esperienza negativa in un team, come discussioni intense durante la revisione del codice? Come ti comporteresti in una situazione del genere?
/** * Compito 3: Analizza la funzione sottostante e correggi eventuali errori. Spiega il ruolo del tipo `never` in TypeScript. */ function throwError(): never { throw new Error('Si è verificato un errore'); } /** * Compito 4: Trasforma il tipo `MaybeProps` dato per rendere tutte le sue proprietà obbligatorie. */ type MaybeProps = { a?: number; b?: string; }; /** * Compito 5: Crea un tipo generico `Container` che contiene una singola proprietà `value`. * Il tipo di `value` dovrebbe essere limitato a `string` o `number`. */ type Container<T> = { value: T; };
Parlami dell'uso di Astro: come è stato scelto, come gestiscono i contenuti?
/** * Compito 1: Generici e Sicurezza del Tipo sulla Chiave * Crea una funzione `getProperty` che prende un oggetto e una chiave. * Usa i generici per garantire che la funzione sia sicura in termini di tipo, e che la chiave esista sull'oggetto. */ function getProperty<T extends Record<string, unknown>, K extends keyof T>(obj: T, key: K): T[K] { return obj[key]; } getProperty('str', 'toString') /** * Compito 2: Dato più dichiarazioni di interfaccia Todo di seguito, spiega cosa succede quando sono presenti nello stesso ambito. * Discuta come TypeScript le tratta e compila l'oggetto `myTodo` per soddisfare i requisiti dell'interfaccia Todo unificata. */ interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; }
Compito 7: Ci sono i tipi Alien e Human, combinati nel tipo Person. Scrivi una funzione checkAlien che verifica se la Person passata è un alieno. Correggi l'errore di TypeScript nell'accesso alla proprietà isAlien.
Parla di autenticazione basata sui cookie e autorizzazione a due fattori nel pannello utente.
Perché hai deciso di cercare lavoro e perché da noi?