Sobes.tech

Frontend

Kādā formātā tev nāk uzdevumi? Cik neatkarīgs esi?

Middle
209

Kādus galvenos HTML tagus jūs zināt?

Middle+
192

Pastāsti man mazliet par sevi un savu interesantāko pieredzi.

Middle
185

Realizējiet klasi pēc Observer modeļa (Observer / Event Emitter): abonentu glabāšana, notikuma abonēšana, abonēšanas atcelšana, abonentu informēšana.

Middle
166

Izstrādājiet funkciju debounce(fn, delay), kas atliks funkcijas izsaukšanu līdz norādītā klusuma laika beigām.

Middle
165

Pastāstiet par sevi un savu darba pieredzi.

Middle
164

Jūs pieminējāt testus — vai jūs rakstījāt testus [uzņēmumā] un pēdējā darbā?

Middle
161

Izstrādājiet EventEmitter klasi: metodi subscribe(event, handler) lai abonētos uz notikumu un emit(event, data) lai izsauktu visus abonentus. Tāpat īstenojiet unsubscribe metodi.

Middle
158

Kā jūs risinājāt jauna steka un Legacy koda kopdzīves uzdevumu vienā projektā? Vai apsvērojāt mikro-frontendus vai tīmekļa komponentus?

Middle
156

Īstenojiet debounce funkciju.

Middle
147

Kādā formātā tev nāk uzdevumi? Vai tev ir liels patstāvības līmenis?

Middle
143

Vai tev ir pieredze migrācijā no Vue 2 uz Vue 3 — ko tieši tu pats darīji?

Middle
143

Virtuālas ritināšanas īstenošana: ir garš ziņojumu saraksts (10 000 elementu), jāattēlo tikai redzamie elementi iekšā konteinerā ar fiksētu augstumu 300px, ar rindas augstumu 30px.

Middle
141

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: noņemiet handler } function emit(event, payload) { // TODO: izsauciet visus abonentus notikumam } 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+
138

Praktiska uzdevums: strādāt ar diviem objektu masīviem — salīdzinājums pēc atslēgas, izmantojot Map struktūras un divu ciklu pārbaudi

Middle
130

Vai tev ir pieredze testu rakstīšanā? Kādus testus esi rakstījis un kādā apjomā?

Middle+
130

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) => { // rakstiet kodu šeit return fn(...args); }; // un šeit return wrapped; }

Middle+
129

Kāpēc nonācāt pie secinājuma, ka nepieciešams pielāgots UI komplekts, nevis vienkārši izmantot gatavus UI elementus?

Middle
129

Realizējiet virtuālo sarakstu (Virtual List): ir garš ziņojumu saraksts, un jāattēlo tikai redzamie elementi iekšā konteinerā ar fiksētu 300 pikseļu augstumu. Vienas rindiņas augstums ir 30 pikseļi.

Middle
128

Pastāstiet par savu atbilstošo darba pieredzi.

Middle+
121
/2