Sobes.tech

Frontend

In welk formaat ontvang je de taken? Hoeveel zelfstandigheid heb je?

Middle
202

Welke belangrijke HTML-tags ken je?

Middle+
180

Vertel me iets over jezelf en je meest interessante ervaring.

Middle
179

Vertel eens iets over jezelf en je werkervaring.

Middle
162

Implementeer de functie debounce(fn, delay), die het aanroepen van de functie uitstelt tot de opgegeven stilteperiode is verstreken.

Middle
161

Implementeer een klasse volgens het Observer-patroon (Event Emitter): opslag van abonnees, abonneren op een gebeurtenis, afmelden voor een gebeurtenis, abonnees informeren.

Middle
156

Je hebt tests genoemd — heb je tests geschreven bij [bedrijf] en op je laatste baan?

Middle
154

Implementeer de klasse EventEmitter: de methode subscribe(event, handler) voor het abonneren op een gebeurtenis en de methode emit(event, data) om alle abonnees aan te roepen. Implementeer ook de methode unsubscribe.

Middle
149

Hoe hebt u het probleem van het gelijktijdig bestaan van een nieuwe stack en legacy-code in een project opgelost? Heeft u micro-frontend of webcomponenten overwogen?

Middle
146

Heb je ervaring met het migreren van Vue 2 naar Vue 3 — wat heb je precies zelf gedaan?

Middle
141

Implementeer de debounce-functie.

Middle
140

Implementeer virtueel scrollen: er is een lange lijst met berichten (10.000 items), alleen de zichtbare elementen binnen een container met een vaste hoogte van 300px moeten worden gerenderd, met een regelhoogte van 30px.

Middle
135

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: handler verwijderen } function emit(event, payload) { // TODO: roep alle abonnees van het event aan } 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 welk formaat ontvang je taken? Heb je een hoge mate van zelfstandigheid?

Middle
133

Praktische taak: werken met twee arrays van objecten — vergelijking op sleutel met behulp van Map-structuren en doorlopen met twee lussen

Middle
127

Heb je ervaring met het schrijven van tests? Welke tests heb je geschreven en in welke omvang?

Middle+
127

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) => { // schrijf hier de code return fn(...args); }; // en hier return wrapped; }

Middle+
126

Waarom zijn jullie tot de conclusie gekomen dat een aangepaste UI-kit nodig is, in plaats van gewoon elementen van een kant-en-klare UI te gebruiken?

Middle
125

Implementeer een virtuele lijst (Virtual List): er is een lange lijst met berichten, en alleen de zichtbare elementen binnen een container met een vaste hoogte van 300 pixels moeten worden gerenderd. De hoogte van één regel is 30 pixels.

Middle
121

Vertel me over je relevante werkervaring.

Middle+
118
/2