~/pcn $ iniciando_

programaConNosotros

Iniciar sesiónCrear cuenta
  • programaConNosotrosprogramaConNosotrosComunidad · desde 2020
  • Inicio
  • Feed
Actividades
  • Eventos
  • Conversaciones
  • Charlas
  • Podcast
  • Desarrollo
Recursos
  • Cursos
  • Lectura
  • Videos
  • Especialidades
  • Herramientas
  • Proyectos
  • Entrevistas
Comunidad
  • Historia
  • Miembros
  • Logros
  • Galería
  • Setups
  • Partners
  • Changelog
SoporteFeedback

~/entrevistas/live-coding

enunciados + leetcode

[simulador][guías][live coding]

Enunciados como los de una entrevista real para resolver por tu cuenta, con el tiempo que te darían, y problemas de LeetCode recomendados para cada tecnología y seniority. Nada se corrige acá: resolvelo en tu editor, en voz alta, y marcá lo que ya practicaste.

# 1. tecnología

[ ]Frontend · React.jsweb, hooks, Next.js[ ]Frontend · iOSSwift, SwiftUI, UIKit[ ]Frontend · AndroidKotlin, Jetpack Compose[ ]Frontend · React NativeExpo, iOS y Android[ ]Backend · Node.jsExpress, NestJS[ ]Backend · PythonDjango, FastAPI[ ]Backend · JavaSpring Boot[ ]Backend · .NETC#, ASP.NET Core[ ]AI engineeringconstruir agentes de IA[x]Agentic engineeringdesarrollar con agentes[ ]Quality engineeringtesting manual y automatizado

# 2. seniority

[ ]Junior[x]Semi-senior[ ]Senior

# ejercicios (resolvelos por tu cuenta, con el tiempo que darían en la entrevista)

01Descomponer una feature en pasos para el agenteQue sepas planificar trabajo en incrementos verificables, que es lo que hace confiable trabajar con agentes en features reales.60 min

Tenés una API REST chica de tareas en Node o Python con endpoints GET /tasks y POST /tasks, guardadas en memoria como { id, title, done, createdAt }. La feature pedida es: paginación por cursor en GET /tasks, filtro por done, y un endpoint PATCH /tasks/:id con validación del body.

Antes de escribir código, armá un plan de entre 4 y 6 pasos donde cada paso sea un cambio chico que el agente pueda hacer en una sola iteración, con su criterio de verificación (qué test o comando tiene que pasar). Ejecutá el plan paso a paso con el agente, verificando y commiteando al final de cada uno.

# requisitos

  • -El plan está escrito antes de empezar y cada paso tiene una verificación concreta.
  • -Cada paso termina en un commit independiente con tests verdes.
  • -Si un paso falla la verificación, se corrige antes de avanzar al siguiente.
  • -El cursor es opaco para el cliente y estable aunque se agreguen tareas entre páginas.
  • -La validación del PATCH rechaza campos desconocidos y tipos incorrectos con 400.

# si te sobra tiempo, te van a preguntar

  • -¿Qué paso del plan resultó demasiado grande para el agente y cómo lo partiste?
  • -¿Cuándo es mejor darle al agente la feature completa en vez de pasos?
  • -¿Cómo guardarías el plan para que otra sesión del agente pueda retomarlo?
02Arreglar un test flaky con el agenteQue distingas un arreglo real de uno que oculta el síntoma, especialmente cuando el agente propone el camino fácil.45 min

Escribí este módulo y su test. Módulo: export async function fetchAll(ids, fetchOne) { const results = []; ids.forEach(async (id) => { results.push(await fetchOne(id)); }); return results; }. Test: un fetchOne falso que resuelve con setTimeout de un delay aleatorio entre 0 y 20 ms, y un expect(await fetchAll([1, 2, 3], fetchOne)).toEqual([r1, r2, r3]).

El test falla casi siempre y, si lo "arreglás" a medias, pasa a fallar de forma intermitente. Usá el agente para diagnosticar la causa raíz y arreglarla. No vale agregar reintentos al test ni sleeps.

# requisitos

  • -Explicar la causa raíz: forEach no espera promesas y el orden de resolución no está garantizado.
  • -El fix preserva el orden de los resultados según ids.
  • -Demostrar que el test es estable corriéndolo al menos 50 veces seguidas.
  • -Reemplazar el delay aleatorio por timers falsos o un orden controlado para que el test sea determinístico.
  • -Rechazar cualquier propuesta del agente que solo esconda el síntoma.

# si te sobra tiempo, te van a preguntar

  • -¿Cómo agregarías un límite de concurrencia a fetchAll?
  • -¿Qué debería pasar si uno de los fetchOne falla? ¿Promise.all o Promise.allSettled?
  • -¿Cómo detectás tests flaky en CI antes de que alguien los marque como skip?
03Code review de un diff generado por un agenteQue tengas ojo crítico para revisar código ajeno contra los requisitos, que es la habilidad central al trabajar con agentes.30 min

Un agente implementó esta función para aplicar descuentos y la presentó como lista: function applyDiscount(price, code) { const codes = { PROMO10: 0.1, PROMO50: 0.5 }; const pct = codes[code.toUpperCase()]; return Math.round(price - price * pct); }. El ticket pedía: precios en centavos como enteros, códigos case insensitive, código inexistente o vacío no aplica descuento, y nunca devolver un precio negativo.

Hacé el code review como lo harías en un PR: listá cada problema con un ejemplo de entrada que lo demuestre, escribí los tests que lo cubren y después pedile al agente que lo corrija usando tus comentarios como única instrucción.

# requisitos

  • -Detectar que un código inexistente devuelve NaN en vez del precio original.
  • -Detectar que code nulo o indefinido rompe en toUpperCase.
  • -Detectar que no se valida que price sea un entero no negativo.
  • -Cada comentario incluye una entrada concreta y la salida esperada.
  • -Verificar que el fix del agente pase los tests que escribiste.

# si te sobra tiempo, te van a preguntar

  • -¿Qué tipo de bugs suelen pasar desapercibidos en diffs generados por agentes?
  • -¿Cómo escribirías los comentarios para que otro agente los pueda resolver sin ambigüedad?

# leetcode recomendado (Agentic engineering · Semi-senior)

EasyBinary SearchLos off-by-one de la búsqueda binaria son un buen ejercicio para revisar diffs del agente buscando errores sutiles.
Medium3SumCombina ordenamiento, dos punteros y deduplicación, donde las soluciones generadas suelen fallar en los duplicados.
MediumProduct of Array Except SelfPractica prefijos y sufijos con restricciones explícitas, útil para verificar que el agente respete las restricciones del enunciado.
MediumNumber of IslandsBFS o DFS sobre grillas, uno de los patrones más pedidos en coding screens de cualquier rol.
MediumValid SudokuEjercicio de modelar reglas con hash sets, bueno para escribir primero los tests y delegar después la implementación.
$ progreso --live-codingAgentic engineering · Semi-senior

ejercicios0/3

leetcode0/5

$ cat guias/live-coding

Cómo encarar un live coding: el método para resolver en voz alta, complejidad, los patrones más frecuentes y cómo practicar.

leer la guía de live coding