
Cracking the Coding Interview, 6th Edition
Gayle Laakmann McDowell
- Editorial
- CareerCup
- Año
- 2015
- Páginas
- ~708
- Nivel
- Intermedio
De qué trata
La sexta edición de la popular guía de Gayle Laakmann McDowell es el manual formativo de referencia internacional para preparar entrevistas técnicas de ingeniería de software en empresas tecnológicas de primer nivel (como Google, Amazon, Microsoft, Apple o Meta). Emplea Java (versiones 7 y 8) como lenguaje principal para el código de las soluciones, junto con diagramas de flujo y esquemas de arquitectura para el diseño conceptual. Está destinada a ingenieros de software de nivel intermedio, graduados en computación y profesionales con experiencia que ya conocen las bases del desarrollo y necesitan perfeccionar su capacidad para resolver problemas algorítmicos complejos bajo presión de tiempo.
El libro ofrece una sólida revisión conceptual que inicia con un análisis minucioso de la notación Big-O (tanto temporal como espacial) y continúa con las estructuras de datos fundamentales: arreglos, cadenas, listas enlazadas, pilas, colas, árboles binarios, árboles de búsqueda y grafos con recorridos BFS y DFS. Enseña patrones esenciales de resolución algorítmica como manipulación de bits, razonamiento inductivo, recursión, memoización y programación dinámica (técnicas top-down y bottom-up). Incluye además bloques especializados en diseño orientado a objetos con patrones de software, pruebas unitarias (testing), concurrencia (hilos y cerrojos) y un capítulo fundamental de diseño de sistemas y escalabilidad horizontal (balanceadores de carga, microservicios, bases de datos distribuidas con sharding, sistemas de caché y CDN).
El núcleo de la obra lo componen 189 ejercicios reales de entrevistas de programación, cada uno con pistas graduadas para guiar el pensamiento de forma autónoma y soluciones completas comentadas en Java con análisis de complejidad. No construye una aplicación comercial completa, sino que enseña a deconstruir problemas ambiguos, identificar casos límite y refactorizar soluciones ingenuas hasta obtener implementaciones óptimas. Es un libro imprescindible para la preparación laboral en la industria del software, que asume un manejo fluido y previo de la programación orientada a objetos.
- Entrevistas técnicas
- Java
- Algoritmos
- Estructuras de datos
- Notación Big-O
- Programación dinámica
- Recursión
- Diseño de sistemas
- Escalabilidad
- Grafos
- Árboles binarios
- Manipulación de bits
¿Cómo enseña?
Con ejercicios
- ✓ Incluye ejercicios
- ✗ Sin proyectos

