Los tipos de tests técnicos
1. Take-home assignment:
- Proyecto de 2-8 horas a realizar en casa
- Plazo: 3-7 días
- Tema: aplicación web, API, transformación de datos
- Criterios: estructura del código, decisiones arquitectónicas, tests, README
2. Algorítmica en directo:
- 45-60 min vía CoderPad, HackerRank, CodeSignal
- Problemas tipo LeetCode (Easy a Hard)
- Criterios: razonamiento en voz alta, complejidad Big-O, edge cases
3. System design:
- 45-60 min de conversación
- Tema: «¿Cómo construirías Twitter / Uber / Netflix?»
- Criterios: capacidad de escalar, decisiones técnicas justificadas, trade-offs
4. Pair programming:
- 60-90 min codo a codo (virtual) con un dev senior
- Tema: feature a añadir a un código existente, bug a corregir
- Criterios: comprensión del código, comunicación, colaboración
5. Code review:
- 30-45 min, análisis de PR con problemas intencionados
- Criterios: detección de bugs, calidad del feedback, sentido del detalle
Preparación por tipo de test
Para la algorítmica:
- LeetCode: apunta a 200-300 problemas resueltos (Easy/Medium dominantes)
- NeetCode 150: lista curada de problemas clásicos
- Cracking the Coding Interview (Gayle McDowell): libro de referencia
- Práctica diaria: 30-45 min, 5-6 días/semana durante 8-12 semanas
Para el system design:
- System Design Interview (Alex Xu): 2 tomos imprescindibles
- High Scalability (highscalability.com): estudios de caso reales
- Designing Data-Intensive Applications (Kleppmann): referencia profunda
- YouTube: canales Gaurav Sen, ByteByteGo
Para el take-home:
- GitHub: 3-5 proyectos limpios y públicos antes de la entrevista
- Tests unitarios: muestran tu rigor
- README detallado: decisiones de arquitectura, cómo lanzar, limitaciones conocidas
- Cuida el commit history: commits atómicos, mensajes explícitos
El día del test
Algorítmica en directo:
- Clarifica el problema (5 min): ejemplos, restricciones, edge cases
- Piensa en voz alta: tu razonamiento cuenta tanto como la solución
- Brute force primero: muestra que entiendes
- Optimiza: Big-O, memoria, justificación
- Codea limpio: nombres de variables claros, funciones modulares
- Testea mentalmente: traza la ejecución sobre los ejemplos + edge cases
System design:
- Clarifica requirements: funcionales y no-funcionales
- Estima la carga: RPS, almacenamiento, ancho de banda
- Esquema de alto nivel: componentes, flujos de datos
- Deep-dive en 1-2 componentes críticos
- Bottlenecks y scaling: dónde se rompe, cómo escalar
- Trade-offs: justifica tus decisiones
Herramientas recomendadas
- LeetCode Premium (35 USD/mes): preguntas dirigidas por empresa
- AlgoExpert: explicaciones video detalladas
- GitHub Copilot: familiarízate (usado en entrevistas en algunas)
- Excalidraw, Whimsical: esquemas system design limpios
- CoderPad: practica el entorno real de entrevista
Especificidades Suiza
- Bancos (UBS, Raiffeisen): tests rigurosos, foco algo + system design
- Multinacionales (Google, Microsoft Zúrich): proceso anglosajón clásico, 5-6 rondas
- Start-ups (Logitech, Sonova): take-home + pair programming dominantes
- Farma (Roche, Novartis): foco data engineering, ETL, SQL
- Cripto (Zug): conocimiento Web3 requerido, blockchain basics
Las trampas frecuentes
- Codear sin pensar: 2 min de planning ahorran 20 min de debug
- No pedir ayuda: precisar «¿Puedo tener una pista?» es mejor que quedarte bloqueado 15 min
- Sobre-ingeniería: no crees 5 abstracciones para un fizz-buzz
- Descuidar los tests: muestra que piensas en ellos aunque no los escribas todos
- Falta de comunicación: un evaluador que no entiende tu razonamiento te puntuará mal



