Cómo superar una entrevista de trabajo para programador. Revisión del libro Cracking the Coding Interview

Como os comentaba ayer, tanto salir y tanto salir el libro Cracking the Coding Interview: 150 Programming Questions and Solutions en las primeras posiciones de nuestra lista de libros software más vendidos… que me he tenido que hacer con una copia y leerlo. Y de ello, he aquí mi resumen e impresiones.
Cracking the Coding Interview: 150 Programming Questions and Solutions de Gayle Laakmann (al pie del post te dejo en índice ) no es mal libro, le daría un 7 sobre 10, mas tratando el tema que trata, tema que tanto se da al “populismo tecnológico”.
El principal objetivo del libro es ayudar a la hora de prepararse para una entrevista para un puesto de programador. O ayudar a quienes seleccionan candidatos, ayudarles a hacer mejores entrevistas.
El libro comienza exponiendo brevemente cómo son la entrevistas de trabajo en las principales empresas de tecnología, concretamente en Yahoo, Google, Microsoft, Amazon y Apple. Apenas unas páginas, no entra mucho en ello. Luego da algunos consejos básicos para ir a una entrevista a una empresa de tecnología, expone la visión de los que hacen las entrevistas y luego pasa a mostrar preguntas tipo y problemas típicos de programación que te pueden hacer en una entrevista (junto con las soluciones).
Esta última parte, la de preguntas de programación y diseño OO, y sus soluciones, es la más importante del libro, y realmente es una buena colección de preguntas de programación. Lo que no quita que, también hay que decirlo, algunos temas, o algunas preguntas, son bastante básicas o triviales, como, por ejemplo, cuando habla de C++. La mayoría de las preguntas de programación están en Java (aunque tiene un capítulo específico sobre C++).
En resumen, libro recomendable si estáis en situación de búsqueda de un puesto de trabajo de, o relacionado con, programación o si quieres mejorar a la hora de hacer entrevistas.
En una línea similar, la lectura del libro me ha vuelto a despertar un objetivo que hace unos años me planteé, como cuando os contaba lo de aquel post de la entrevista de trabajo que ya me resigno a no pasar,  y que es formalizar las preguntas que hemos usado años atrás a la hora de hacer entrevistas de trabajo. Veremos si este es su año.

Índice del libro “Cracking the Coding Interview, Fourth Edition: 150 Programming Interview Questions and Solutions”

I. The Interview Process

  • Overview
  • How Questions are Selected
  • Timeline and Preparation Map
  • The Evaluation Process
  • Incorrect Answers
  • Dress Code
  • Top 10 Mistakes
  • Frequently Asked Questions

II. Behind the Scenes

  • The Microsoft Interview
  • The Amazon Interview
  • The Google Interview
  • The Apple Interview
  • The Facebook Interview
  • The Yahoo! Interview

III. Special Situations

  • Experienced Candidates
  • Testers and SDETs
  • Program and Product Managers
  • Dev Leads and Managers
  • Start-Ups

IV. Before the Interview

  • Getting the Right Experience
  • Building a Network
  • Writing a Great Resume

V. Behavioral Preparation

  • Behavioral Preparation
  • Handling Behavioral Questions

VI. Technical Questions

  • Technical Preparation
  • Handling Technical Questions
  • Five Algorithm Approaches
  • What Good Coding Looks Like

VII. The Offer and Beyond

  • Handling Offers and Rejection
  • Evaluating the Offer
  • Negotiation
  • On the Job

VIII. Interview Questions

  • Data Structures
  • Chapter 1 | Arrays and Strings
  • Chapter 2 | Linked Lists
  • Chapter 3 | Stacks and Queues
  • Chapter 4 | Trees and Graphs
  • Concepts and Algorithms
  • Chapter 5 | Bit Manipulation
  • Chapter 6 | Brain Teasers
  • Chapter 7 | Mathematics and Probability
  • Chapter 8 | Object-Oriented Design
  • Chapter 9 | Recursion and Dynamic Programming
  • Chapter 10 | Sorting and Searching
  • Chapter 11 | Scalability and Memory Limits
  • Chapter 12 | Testing
  • Knowledge Based
  • Chapter 13 | C and C++
  • Chapter 14 | Java
  • Chapter 15 | Databases
  • Chapter 16 | Threads and Locks
  • Additional Review Problems
  • Chapter 17 | Moderate
  • Chapter 18 | Hard