Sobes.tech

Frontend

¿En qué formato recibes las tareas? ¿Qué grado de autonomía tienes?

Middle
207

¿Qué etiquetas HTML principales conoces?

Middle+
182

Cuéntame un poco sobre ti y tu experiencia más interesante.

Middle
180

Implementa la función debounce(fn, delay), que retrasa la llamada a la función hasta que pase el tiempo de silencio especificado.

Middle
165

Cuéntame sobre ti y tu experiencia laboral.

Middle
164

Implementar una clase según el patrón Observador (Observer / Event Emitter): almacenamiento de suscriptores, suscripción a eventos, cancelación de suscripción, notificación a suscriptores.

Middle
162

¿ Mencionaste las pruebas — escribiste pruebas en [empresa] y en tu último trabajo?

Middle
157

Implementa la clase EventEmitter: el método subscribe(event, handler) para suscribirse a un evento y el método emit(event, data) para llamar a todos los suscriptores. También implementa el método unsubscribe.

Middle
154

¿Cómo abordó la tarea de coexistencia de una nueva pila y código Legacy en un solo proyecto? ¿Consideró micro frontends o componentes web?

Middle
148

Implementar la función debounce.

Middle
145

¿Tienes experiencia participando en la migración de Vue 2 a Vue 3? ¿Qué fue exactamente lo que hiciste tú mismo?

Middle
143

Implementar desplazamiento virtual: hay una lista larga de mensajes (10,000 elementos), se necesita renderizar solo los elementos visibles dentro de un contenedor con una altura fija de 300px, con una altura de línea de 30px.

Middle
139

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: eliminar handler } function emit(event, payload) { // TODO: llamar a todos los suscriptores del 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+
136

¿En qué formato recibes las tareas? ¿Tienes un alto grado de autonomía?

Middle
133

¿Tienes experiencia escribiendo pruebas? ¿Qué tipo de pruebas has escrito y en qué volumen?

Middle+
130

Tarea práctica: trabajar con dos matrices de objetos — comparación por clave usando estructuras Map y recorrido con dos bucles

Middle
130

Implementa una lista virtual (Virtual List): hay una lista larga de mensajes, y solo se deben renderizar los elementos visibles dentro de un contenedor con una altura fija de 300 píxeles. La altura de una fila es de 30 píxeles.

Middle
128

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) => { // escribe el código aquí return fn(...args); }; // y aquí return wrapped; }

Middle+
128

¿Por qué llegaron a la conclusión de que se necesita un kit de UI personalizado, y no simplemente utilizaron elementos de una UI existente?

Middle
126

Cuéntame sobre tu experiencia laboral relevante.

Middle+
119
/2