¿Qué libros de algoritmos y estructura de datos deben estudiarse para la preparación de entrevistas en Google / Facebook?

Una cosa a tener en cuenta es que las entrevistas tratan sobre la resolución de problemas con algoritmos, no solo el conocimiento de algoritmos. Raramente se le pedirá que codifique un mergesort, por ejemplo; en cambio, es más probable que se le presente un problema en el que clasificar los datos es un paso intermedio útil. Por lo general, se le permitirá usar una biblioteca para la parte de clasificación real.

Para ser bueno en la resolución algorítmica de problemas, debe practicar la resolución algorítmica de problemas y no solo los algoritmos. Libros como Elementos de las entrevistas de programación y Entrevista de descifrado de codificación están diseñados específicamente para ese propósito. Si agota esos recursos, puede practicar en sitios como Leetcode. Si no tiene algunos de los conocimientos de algoritmos fundamentales necesarios para la resolución de problemas algorítmicos (verá cuando comience a probar los recursos antes mencionados), puede consultar un libro de texto de algoritmos como Sedgewick o Cormen.

“Estructuras de datos y algoritmos” es el tema favorito de las empresas entrevistadas.

Cuando su experiencia aumenta, más de 4 años, entonces el Diseño del sistema se vuelve importante.

Si buscas preparación para la entrevista. Puede comenzar con “ Resolución de problemas en estructuras de datos y algoritmos ” escrito en varios lenguajes como C, C ++, Java, C #, Python, etc. Estos libros son fáciles de seguir y están escritos para el punto de vista de la entrevista . Además, estos libros tienen el último capítulo sobre Diseño de sistemas , que también se requiere en las entrevistas.

Los enlaces de los libros en Amazon están abajo:

1. Resolución de problemas en estructuras de datos y algoritmos utilizando C

2. Resolución de problemas en estructuras de datos y algoritmos usando C ++

3. Resolución de problemas en estructuras de datos y algoritmos utilizando Java

4. Resolución de problemas en estructuras de datos y algoritmos con C #

5. Resolución de problemas en estructuras de datos y algoritmos usando Python

6. Estructuras de datos y algoritmos en Go

Descargo de responsabilidad: soy autor de todos los libros anteriores.

Los algoritmos de Sedgwick tienen una gran combinación de práctica y teoría, si tienes tiempo para superarlo. Sin embargo, su mejor apuesta es probablemente algo así como Cracking the Coding Interview, que tiene una revisión rápida de algoritmos comunes y un montón de problemas de práctica. Eso supone que está razonablemente cómodo con tablas hash, listas vinculadas, etc., y solo necesita un recordatorio.

Esta es también la única cosa en la que la programación competitiva es bastante buena, así que eche un vistazo a esos sitios también para obtener comentarios rápidos.

Mi recomendación es pasar por Algoritmos de Robert Sedgewick.

Es un libro muy agradable con explicaciones en detalle y lo sigue maravillosamente con tareas. Esas tareas son lo suficientemente buenas como para aclarar todos sus conceptos. Tenga en cuenta que no profundiza en el álgebra detrás del rendimiento del algoritmo en detalle, sino que le hace comprender sistemáticamente las cosas que podría encontrar difícil de entender en otro libro.

Una vez que comprenda las cosas, también le resultará muy fácil comprender el álgebra detrás del análisis de rendimiento.