¿Qué libro debería leer este verano si quiero una pasantía de ingeniería de software en Silicon Valley el próximo verano?

Necesitas saber dos cosas para tener éxito. Primero y ante todo, debe comprender (y ser bueno en) algoritmos y estructuras de datos. Más que nada, debe comprender cómo funcionan, por qué funcionan y cómo aplicarlos. Una buena fuente para eso es, en mi opinión, Introducción a los algoritmos: un enfoque creativo , por Udi Manber. La principal diferencia de este libro con muchos otros geniales (como CLRS) es que te muestra CÓMO los algoritmos cobraron vida, haciéndote pensar a través de todo el proceso, ofreciéndote excelentes ideas.

Por otro lado, necesita saber cómo resolver problemas usando estos algoritmos. Tenga en cuenta que debe comprender los algoritmos y las estructuras de datos antes de hacerlo. Si te sientes bien con los conceptos básicos de tus algoritmos, puedes echar un vistazo a los libros que se centran en los problemas de la entrevista. Consideraría la clásica entrevista de Cracking The Coding de Gayle Laakmann McDowell y quizás Elements of Programming Interviews de Adnan Aziz. Ambos son GRANDES libros sobre habilidades para resolver problemas, con muchas preguntas (y respuestas) a preguntas de entrevista comunes (y no tan comunes).

De todos modos, ¡buena suerte con tu nuevo camino!