Frontend
Cosa sono i tipi any, unknown, never e void in TypeScript? Qual è la loro differenza?
Guarda il codice: perché il componente App verrà renderizzato di nuovo cliccando sul pulsante 'Render', e perché il componente Child verrà renderizzato di nuovo quando si inserisce del testo nell'input?
#Modulo di registrazione React 1. Spiega come funziona StateProvider, condividi i tuoi pensieri con l'intervistatore. 2. Dai un'occhiata a /src/api/mock, spiega come funziona. 3. Controlla il colore del SubmitButton e correggilo. 4. Implementa la validazione del modulo client nel componente Signup. (* ) Tieni presente il numero del task 9. Regole: - I campi Username, Email, Password, Ripeti Password devono avere almeno 6 caratteri; - La Password deve corrispondere a Ripeti Password; - La validazione deve essere eseguita al clic sul pulsante "Iscriviti"; - I campi con valori non validi devono essere contrassegnati (props error e helperText); 6. La risposta API può avere un errore che deve essere visualizzato all'utente vicino al campo corrispondente. 7. Assicurati che il componente UserName visualizzi il nuovo nome utente dopo l'invio riuscito. 8. Implementa il nuovo componente SignupSuccess. Deve essere mostrato al posto del modulo di registrazione. 9. Implementa la validazione del server per i campi appropriati.
Cosa sono le Props in React?
Quali pattern di riutilizzo esistono in React? Cosa sono i Componenti Compositi?
Racconta di una decisione difficile che hai dovuto progettare e sviluppare da zero.
Come strutturare lo sviluppo in modo che, con l'aumentare del numero di sviluppatori (inclusi i backend che lavorano nel frontend), ci siano il meno possibile di conflitti?
Puoi fornire un esempio concreto di una libreria che impediva di completare la build durante l'aggiornamento di Angular (ad esempio, alla versione 16)? In cosa consisteva esattamente il problema e come l'hai risolto?
Parlami di te e della tua ultima esperienza lavorativa.
Come tipizzare la risposta API se il contratto non è perfetto?
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} />
Parla dei vantaggi e dei problemi dei micro frontend.
Come scegli dove usare Angular Signals e dove usare RxJS?
Quale tipo di ereditarietà viene utilizzato in JavaScript? Esiste l'ereditarietà multipla nelle classi?
/* * Funzione che emula la richiesta di dati dal backend. * Il backend ha una limitazione RPS e fallirà, * se il numero di richieste parallele supera MAX_PARALLEL_REQUESTS. */ function requestData(id: number): Promise<string> { parallelRequests++; if (parallelRequests > MAX_PARALLEL_REQUESTS) { throw new Error("Troppi richieste parallele"); } return new Promise((res) => { setTimeout(() => { parallelRequests--; return res(`${id * 2}`); }, Math.floor(Math.random() * 2000)) }); } function prepareData( ids: number[], maxParallelRequests: number, ): Promise<string[]> { /* * TODO: implementare la richiesta di tutti i dati, * usando non più di maxParallelRequests * connessioni parallele. */ }
Chiarimento: l'applicazione era desktop nel browser o nativa?
C'era qualche formato di analisi di sistema o si discuteva e si annotavano semplicemente i punti verbalmente nella task? C'era un documento o una pagina in Confluence con la descrizione di cosa doveva essere fatto?
A cosa serve la parola chiave infer in TypeScript?
Quali sono i vantaggi e gli svantaggi dell'approccio con rilasci frequenti (deployment continuo) rispetto ai rilasci pianificati?
Raccontaci di più sulla funzionalità offline: come funziona il salvataggio dei dati in IndexedDB in caso di perdita di internet?