~/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[ ]Semi-senior[x]Senior

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

01Refactor en varios archivos con un planQue sepas liderar un cambio transversal con agentes manteniendo el control: plan, verificación incremental y guardrails automáticos.60 min

Tomá un proyecto chico (o generalo) con al menos 6 archivos que llamen directamente a console.log y console.error con strings armados a mano, por ejemplo console.log("user " + id + " created"). El objetivo es migrar todo a un logger estructurado logger.info("user_created", { userId }) con niveles, un campo requestId propagado y salida JSON en producción.

Escribí primero el plan del refactor: el orden de los archivos, qué queda compatible durante la migración, cómo verificar en cada paso que no cambió el comportamiento y cuál es el criterio de terminado (por ejemplo, una regla de lint que prohíbe console). Ejecutalo con el agente y revisá cada tanda de cambios.

# requisitos

  • -El plan define pasos que dejan el proyecto compilando y con tests verdes en todo momento.
  • -Se agregan tests de caracterización antes de tocar los archivos con lógica.
  • -El requestId se propaga sin pasar parámetros por toda la cadena (por ejemplo, con AsyncLocalStorage o equivalente).
  • -Una regla de lint impide reintroducir console en el código de la app.
  • -Ningún dato sensible (emails, tokens) termina en los logs; queda cubierto por un test.
  • -El historial muestra commits chicos y revisables.

# si te sobra tiempo, te van a preguntar

  • -¿Cómo le das al agente el contexto de las convenciones del repo para que no las rompa en archivos que no viste?
  • -¿Qué harías si a mitad del refactor el agente cambia el comportamiento de una función sin avisar?
  • -¿Cómo repartirías este refactor entre varios agentes en paralelo sin que se pisen?
02Harness de verificación para cambios del agenteQue pienses en guardrails automáticos y en el diseño del entorno del agente, no solo en el prompt.60 min

Tu equipo deja que un agente abra PRs solo. Querés un script verify que el agente tenga que correr antes de dar una tarea por terminada y que también corra en CI. El proyecto tiene typecheck, lint, tests unitarios y un archivo CHANGELOG.md.

Implementá el script para que corra los checks en orden de costo (los más baratos primero), corte en el primer fallo con un mensaje accionable para el agente, detecte si el diff modificó o borró tests existentes y lo marque para revisión humana, y falle si el diff toca archivos de una lista protegida (por ejemplo migraciones o package-lock.json) sin una etiqueta explícita. Después escribí las instrucciones para el agente (en CLAUDE.md, AGENTS.md o equivalente) que lo obliguen a usarlo.

# requisitos

  • -El script devuelve códigos de salida distintos por tipo de fallo.
  • -Los mensajes de error indican qué falló y qué comando correr para reproducirlo.
  • -La detección de tests modificados funciona comparando contra la rama base con git diff.
  • -La lista de archivos protegidos es configurable.
  • -Las instrucciones para el agente son cortas, concretas y verificables.

# si te sobra tiempo, te van a preguntar

  • -¿Qué tipo de errores del agente este harness no detecta y cómo los cubrirías?
  • -¿Cómo evitás que el agente desactive o saltee el propio script de verificación?
  • -¿Cuánto tiempo puede tardar verify antes de que se vuelva un problema para el flujo del agente?
03Migración de una API deprecada en todo el repoQue combines agentes y herramientas determinísticas con criterio, y que sepas escalar la revisión en cambios grandes.60 min

En un proyecto con varios módulos, todas las llamadas HTTP usan un helper viejo request(url, opts, callback) basado en callbacks. Tenés que migrarlas a httpClient.get(url, { timeoutMs }) y httpClient.post(url, body), que devuelven promesas y lanzan HttpError con status en vez de pasar el error al callback.

Usando el agente, primero hacé un inventario de todos los call sites y clasificalos por patrón (lectura simple, manejo de error por status, reintentos manuales, llamadas en paralelo). Elegí un call site de cada patrón, migralo a mano o con el agente y revisalo en detalle, y usá esos ejemplos como referencia para migrar el resto. Al final, borrá el helper viejo.

# requisitos

  • -El inventario lista cada call site con su patrón y se genera de forma reproducible (por ejemplo con grep o un script).
  • -Los call sites que manejaban errores por status siguen distinguiendo los mismos casos después de la migración.
  • -Las llamadas en paralelo usan Promise.all o equivalente sin serializarse por accidente.
  • -Hay tests que cubren al menos un call site de cada patrón antes y después.
  • -El helper viejo se elimina y el build falla si alguien lo vuelve a importar.

# si te sobra tiempo, te van a preguntar

  • -¿Cuándo conviene un codemod determinístico en lugar de un agente para este tipo de migración?
  • -¿Cómo revisarías 80 call sites migrados sin leer cada uno con el mismo nivel de detalle?
  • -¿Cómo harías el rollout si el proyecto estuviera en producción con tráfico real?

# leetcode recomendado (Agentic engineering · Senior)

MediumLRU CacheDiseño de estructuras con complejidad garantizada, ideal para discutir la solución del agente contra la óptima.
MediumTime Based Key-Value StoreCombina diseño de API y búsqueda binaria, parecido a los problemas de diseño chico que aparecen en screens senior.
MediumCourse ScheduleDetección de ciclos en grafos dirigidos, el mismo razonamiento que usás al ordenar tareas dependientes de un plan.
MediumRotting OrangesBFS multi-origen por niveles, un buen ejercicio para comparar la solución propia con la del agente en claridad y casos de borde.
MediumCoin ChangeProgramación dinámica clásica que te obliga a justificar la recurrencia, algo que el agente no puede hacer por vos en la entrevista.
MediumSearch in Rotated Sorted ArrayBúsqueda binaria con muchos casos de borde, perfecta para practicar escribir tests que destapen errores en código generado.
$ progreso --live-codingAgentic engineering · Senior

ejercicios0/3

leetcode0/6

$ 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