Sobes.tech

Frontend

In quale formato ricevi i compiti? Quale grado di autonomia hai?

Middle
206

Quali sono i principali tag HTML che conosci?

Middle+
181

Parlami un po' di te e della tua esperienza più interessante.

Middle
180

Parlami di te e della tua esperienza lavorativa.

Middle
163

Implementa la funzione debounce(fn, delay), che ritarda la chiamata della funzione fino al termine del tempo di silenzio specificato.

Middle
163

Implementare una classe secondo il pattern Observer (Emitter di Eventi): memorizzazione degli iscritti, iscrizione a eventi, cancellazione dell'iscrizione, notifica agli iscritti.

Middle
162

Hai menzionato i test — hai scritto test presso [azienda] e nel tuo ultimo lavoro?

Middle
157

Implementa la classe EventEmitter: il metodo subscribe(event, handler) per iscriversi a un evento e il metodo emit(event, data) per chiamare tutti gli iscritti. Implementa anche il metodo unsubscribe.

Middle
154

Come hai affrontato il problema della convivenza di un nuovo stack e del codice Legacy in un progetto? Hai considerato micro frontend o componenti web?

Middle
147

Hai esperienza nel partecipare alla migrazione da Vue 2 a Vue 3 — cosa hai fatto esattamente tu stesso?

Middle
142

Implementare la funzione debounce.

Middle
141

Implementare lo scorrimento virtuale: c'è una lunga lista di messaggi (10.000 elementi), bisogna renderizzare solo gli elementi visibili all'interno di un contenitore con altezza fissa di 300px, con un'altezza di riga di 30px.

Middle
138

function createEmitter() { const events = new Map(); function on(event, handler) { if(!events.has(event)) { events.set(event, [handler]) return } events.get(event).push(handler) } function off(event, handler) { // TODO: rimuovere handler } function emit(event, payload) { // TODO: chiamare tutti gli iscritti all'evento } return { on, off, emit }; } const bus = createEmitter(); const unsub1 = bus.on("order:created", (payload) => { console.log("handler1:", payload.id); }); const handler2 = (payload) => { console.log("handler2:", payload.id); } bus.on("order:created", handler2);

Middle+
133

In quale formato ricevi i compiti? Hai un alto grado di autonomia?

Middle
133

Compito pratico: lavorare con due array di oggetti — confronto per chiave usando strutture Map e attraversamento con due cicli

Middle
129

Hai esperienza nella scrittura di test? Quali test hai scritto e in che quantità?

Middle+
129

function memoize(fn, options = {}) { const { maxSize = 1000, keyOf = (...a) => JSON.stringify(a), lruTouch = true, } = options; let hits = 0; let misses = 0; const cache = new Map(); const getKey = (...args) => keyOf(...args); const wrapped = (...args) => { // scrivi il codice qui return fn(...args); }; // e qui return wrapped; }

Middle+
128

Implementa una lista virtuale (Virtual List): c'è una lunga lista di messaggi, e bisogna renderizzare solo gli elementi visibili all'interno di un contenitore con altezza fissa di 300 pixel. L'altezza di una riga è di 30 pixel.

Middle
127

Perché si è giunti alla conclusione che è necessario un kit UI personalizzato, e non semplicemente utilizzare elementi di un UI pronto?

Middle
126

Parla della tua esperienza lavorativa rilevante.

Middle+
119
/2