Qué suele entenderse por preguntas de coding
Son tareas cortas para estimar cómo piensas bajo restricciones. No miden el trabajo perfecto, pero estandarizan comparaciones. Siguen importando especificación, algoritmo razonable, implementación cuidadosa y trade-offs claros.
Dos candidatos con el mismo número de problemas pueden quedar distinto si uno comunica supuestos, bordes y complejidad con seguridad.
- Aclara entradas, salidas y restricciones antes de teclear.
- Ejemplos → fuerza bruta → optimización.
- Espera follow-ups que cambian el enunciado.
Construir un flujo fiable de código correcto y explicable con alguien mirando.
Cómo construyen y calibran los bancos de preguntas
Las grandes empresas mantienen bibliotecas con dificultad controlada y rúbricas. Las más pequeñas reutilizan clásicos públicos; por eso los patrones se repiten con distinta historia.
La calibración castiga memorización frágil ante cambios de restricción.
- Los bucles difíciles añaden dimensión: dos punteros, estado en BFS, restricciones en DP.
- Rúbricas: resolución, código, comunicación, ritmo según nivel.
- Los senior reciben más trade-offs.
La biblioteca de patrones que cubre la mayoría de entrevistas
Hash, dos punteros, ventana deslizante, prefijos, pilas, heaps, BFS/DFS, union-find, orden topológico y plantillas DP resuelven la mayor parte.
Estudiar por patrón reduce la sensación de azar cuando cambia el enunciado.
- Por patrón: canónico, variante dura, trampa de bordes.
- Rehaz en pizarra tras una pausa.
- Lleva un log de errores repetidos.
Mide cobertura de patrones y calidad, no solo volumen.
Arrays y cadenas: frecuencia, trampas y señal
Son frecuentes porque el enunciado es simple y los follow-ups son ricos. Las trampas típicas: mutar mientras iteras, substring vs subsecuencia, Unicode, vacío, orden implícito.
- Pregunta por RAM, streaming o casi ordenado.
- Escribe versión segura y luego limpia.
- Cuidado con la complejidad amortizada.
Listas enlazadas, pilas, colas y tablas hash
Miden punteros y trabajo diferido; las tablas hash justifican memoria con ganancia real de tiempo.
- Centinelas para bordes.
- LRU: lista doble + mapa.
- Riesgo de desbordamiento de pila en recursión profunda.
Árboles, montículos y grafos: cuándo manda DFS
Árboles: recorridos y agregación; grafos: ciclos y rejillas implícitas; heaps: top-k y prioridades.
- BFS para camino mínimo sin peso; DFS cuando la recursión refleja el problema.
- Rejilla 4-vecinos salvo que digan otra cosa.
- Bases explícitas en árboles.
Nombrar el grafo suele desbloquear BFS/DFS.
Programación dinámica y voraces: reconocer, no memorizar
DP: estado mínimo suficiente; voraz: elección local segura y contraejemplos.
- Memo arriba-abajo o bottom-up compacto.
- No optimices memoria sin solución correcta.
- Bosqueja estados pequeños.
Complejidad, pruebas y comunicación como multiplicadores
Narrar trade-offs y probar bordes demuestra madurez de revisión de código.
- Liga optimización al modelo de carga.
- Conoce la complejidad de las estructuras estándar.
- Resume antes de codificar.
Hoja de ruta 30 / 60 / 90 días realista
Bloques semanales al inicio, profundidad y mocks después; incluye descanso y otros formatos si aplica.
- Tablero semanal de métricas.
- Días de repaso espaciado.
- Simula presión con frecuencia.
FAQs, fallos típicos y siguientes pasos
La fluidez importa más que el lenguaje concreto; no hay número mágico de problemas. Si bloqueas, fuerza bruta primero.
- Fallo: codificar el problema equivocado.
- Fallo: idea buena, código ilegible.
- Fallo: no hablar de Big-O.
Mezcla lectura con sesiones cronometradas; Preplyer ayuda a transferir patrones a la entrevista real.
Key Takeaways
- Proceso y comunicación cuantan tanto como el código.
- Patrones y métricas vencen volumen ciego.
- Los follow-ups exigen flexibilidad.
- Los fundamentos clásicos cubren la mayoría de loops.
- Planes sostenibles vencen el agotamiento.