Sobes.tech

Frontend

В какъв формат ти идват задачите? Колко си самостоятелен?

Middle
209

Кои са основните HTML тагове, които знаете?

Middle+
192

Разкажи малко за себе си и най-интересния си опит.

Middle
185

Реализирайте клас според патърна Observer (Observer / Event Emitter): съхранение на абонати, абониране за събитие, отписване от събитие, уведомяване на абонатите.

Middle
166

Реализирайте функцията debounce(fn, delay), която отлага извикването на функцията до изтичане на посоченото време на тишина.

Middle
165

Разкажи за себе си и своя професионален опит.

Middle
164

Споменахте тестове — писахте тестове в [компания] и на последното си работно място?

Middle
161

Реализирайте класа EventEmitter: метода subscribe(event, handler) за абониране за събитие и метода emit(event, data) за извикване на всички абонати. Също така реализирайте метода unsubscribe.

Middle
158

Как решихте проблема с съжителството на нов стек и Legacy код в един проект? Разглеждахте ли микрофронтенд или уеб компоненти?

Middle
156

Реализирайте функцията debounce.

Middle
147

В какъв формат получаваш задачите? Имаш ли висок степен на самостоятелност?

Middle
143

Имаш ли опит с миграцията от Vue 2 към Vue 3 — какво точно си правил сам?

Middle
143

Реализирайте виртуално превъртане: има дълъг списък с съобщения (10 000 елемента), трябва да рендерирате само видимите елементи вътре в контейнер с фиксирана височина 300px, с височина на реда 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: изтрийте обработчика } function emit(event, payload) { // TODO: извикайте всички абонати на събитието } 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+
136

Практическо задание: работа с два масива от обекти — сравнение по ключ с използване на Map структури и обхождане с два цикъла

Middle
130

Имаш ли опит в писането на тестове? Какви тестове си писал и в какъв обем?

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) => { // напиши код тут return fn(...args); }; // и тут return wrapped; }

Middle+
129

Реализирайте виртуален списък (Virtual List): има дълъг списък с съобщения, трябва да рендерирате само видимите елементи вътре в контейнер с фиксирана височина 300 пиксела. Височината на един ред е 30 пиксела.

Middle
128

Защо стигнахте до извода, че е необходим персонализиран UI-кит, а не просто да използвате елементи от готов UI?

Middle
127

Разкажи за своя релевантен опит в работата.

Middle+
121
/2