Frontend
Quali gestori di stato sono stati usati? Perché Redux è cattivo?
Cos'è il metodo di chaining (catena) nella risoluzione delle collisioni in una tabella hash?
Implementa la funzione debounce(fn, delay), che ritarda la chiamata della funzione fino al termine del tempo di silenzio specificato.
Parla delle fasi critiche del rendering del browser
Come avviene di solito l'approvazione dell'API tra frontend e backend nel tuo progetto?
Hai menzionato i test — hai scritto test presso [azienda] e nel tuo ultimo lavoro?
[nome] ha chiesto: quali sono le differenze tra i metodi bind, call e apply?
Come hai integrato TypeScript nel codice legacy passo dopo passo e come hai evitato regressioni?
Come creare e usare i propri tipi in TypeScript?
È più comodo comunicare in «tu» o in «Lei»?
Come è stata la revisione del codice? Quali principi hai utilizzato, a cosa hai prestato attenzione prima di tutto?
/** * Implementa la funzione che eseguirà un callback con i dati * e restituirà un array di risposte Response[]. * La soluzione dovrebbe eseguire tutte le richieste in parallelo * ma non più di [limit] richieste possono essere eseguite contemporaneamente. * L'obiettivo è minimizzare il tempo totale di esecuzione. */ type Props<RequestData, Response> = { callback: (args: RequestData) => Promise<Response>; data: Array<RequestData>; limit: number; }; export async function runWithLimit<RequestData, Response>({ callback, data, limit, }: Props<RequestData, Response>): Promise<Response[]> { // INIZIO SOLUZIONE QUI if (limit < 1 || data.length === 0) { return Promise.resolve([]); } if (limit >= data.length) { return Promise.all(data.map(callback)); } const result: Response[] = new Array(data.length); let index = 0; const run = async () => { if (index >= data.length) return; const elem = data[index]; try { result[index] = await callback(elem); } catch (err) { result[index] = (err) as Response; // gestione errore da fare } index++; run(); }; const startPack = Array.from({ length: limit }, run); await Promise.all(startPack); return result; }
Qual era la versione di Angular sulla piattaforma educativa, era necessario aggiornarla?
Hai lavorato con WebSocket?
Raccontami come sei arrivata al frontend. Con cosa ti occupavi?
Come hai implementato il modello di accesso basato sui ruoli nel frontend? Come si determinava cosa mostrare all'utente in base ai permessi?
Cos'è una tabella hash e come si collega a Map? Cos'è una collisione nel contesto delle tabelle hash?
/** * È necessario scrivere una funzione asincrona, * che "dorme" per il numero di millisecondi specificato, * e poi termina con successo */
Immagina la situazione: la nostra produttività sta diminuendo a causa di un problema nel codice JS. Cosa controlleresti nel profiler di DevTools per confermare o smentire questa ipotesi?
È possibile restituire il risultato in ricorsione senza la fase di propagazione?