Sobes.tech

Frontend

In welchem Format kommen die Aufgaben zu dir? Wie groß ist dein Grad an Selbstständigkeit?

Middle
203

Welche grundlegenden HTML-Tags kennst du?

Middle+
180

Erzählen Sie mir ein wenig über sich und Ihre interessanteste Erfahrung.

Middle
179

Erzählen Sie mir etwas über sich und Ihre Berufserfahrung.

Middle
162

Implementieren Sie die Funktion debounce(fn, delay), die den Aufruf der Funktion verzögert, bis die angegebene Ruhezeit abgelaufen ist.

Middle
162

Implementieren Sie eine Klasse nach dem Observer-Muster (Observer / Event Emitter): Speicherung von Abonnenten, Abonnieren von Ereignissen, Abbestellen von Ereignissen, Benachrichtigung der Abonnenten.

Middle
157

Du hast Tests erwähnt — hast du Tests bei [Firma] und bei deinem letzten Arbeitsplatz geschrieben?

Middle
155

Implementiere die Klasse EventEmitter: die Methode subscribe(event, handler) zum Abonnieren eines Ereignisses und die Methode emit(event, data) zum Aufrufen aller Abonnenten. Implementiere auch die Methode unsubscribe.

Middle
149

Wie haben Sie das Problem der gleichzeitigen Existenz eines neuen Stacks und Legacy-Codes in einem Projekt gelöst? Haben Sie Micro-Frontends oder Web-Komponenten in Betracht gezogen?

Middle
146

Hast du Erfahrung mit der Migration von Vue 2 auf Vue 3 — was hast du genau selbst gemacht?

Middle
141

Die debounce-Funktion implementieren.

Middle
140

Virtuelles Scrollen implementieren: Es gibt eine lange Liste von Nachrichten (10.000 Elemente), nur die sichtbaren Elemente innerhalb eines Containers mit fester Höhe von 300px sollen gerendert werden, bei einer Zeilenhöhe von 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 entfernen } function emit(event, payload) { // TODO: Alle Abonnenten des Events aufrufen } 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 welchem Format erhältst du die Aufgaben? Hast du ein hohes Maß an Eigenständigkeit?

Middle
133

Praktische Aufgabe: Arbeit mit zwei Arrays von Objekten — Vergleich nach Schlüssel unter Verwendung von Map-Strukturen und Durchlauf mit zwei Schleifen

Middle
127

Hast du Erfahrung im Schreiben von Tests? Welche Tests hast du geschrieben und in welchem Umfang?

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) => { // schreibe den Code hier return fn(...args); }; // und hier return wrapped; }

Middle+
126

Warum sind Sie zu dem Schluss gekommen, dass ein benutzerdefiniertes UI-Kit erforderlich ist, anstatt einfach Elemente einer fertigen UI zu verwenden?

Middle
125

Implementieren Sie eine virtuelle Liste (Virtual List): Es gibt eine lange Liste von Nachrichten, und es sollen nur die sichtbaren Elemente innerhalb eines Containers mit fester Höhe von 300 Pixeln gerendert werden. Die Höhe einer Zeile beträgt 30 Pixel.

Middle
121

Erzählen Sie mir von Ihrer relevanten Berufserfahrung.

Middle+
118
/2