¿Cuál es el mejor libro para aprender estructuras de datos y algoritmos, para Java si es posible, para preparar mi entrevista de pasantía en Facebook?

En términos de libros, Cracking the Coding Interview es definitivamente un buen recurso.

Sin embargo, personalmente me he preparado para mis entrevistas con un montón de recursos en línea. Estas son algunas de las cosas que he usado:

  1. Programación de preguntas de la entrevista | Pastel de entrevista. Este sitio es asombroso. Le indica los problemas si está atrapado, como lo hace un entrevistador, y generalmente tiene algunos problemas de entrevista bastante cercanos a los reales.
  2. GeeksforGeeks | Un portal informático para geeks. Este es solo un buen recurso para todo tipo de estructuras de datos / cosas de algoritmos.
  3. Juez en línea de LeetCode. Un buen recurso si desea practicar para entrevistas telefónicas (codificación en línea), y también tiene excelentes foros si desea consultar las soluciones de muchas personas diferentes.
  4. Tutorial en video para descifrar la entrevista de codificación. Esto está alojado en Hackerrank. Hackerrank tiene algunas preguntas geniales (similares a leetcode), y estas series de videos son especialmente útiles si estás oxidado en estructuras / algoritmos de datos básicos.

¡Espero que esto ayude!

Para descifrar entrevistas, necesitas tres cosas:

1. Buena comprensión de las estructuras de datos y el algoritmo.

2. Buena comprensión del diseño del sistema.

3. Buena práctica en sitios como topcoder, etc.

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 utilizando C #

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

6. Resolución de problemas en estructuras de datos y algoritmos con Visual Basic .Net

7. Algoritmos de estructuras de datos usando JavaScript

En segundo lugar, se siente cómodo con los conceptos básicos de estructuras de datos y algoritmos. Puede buscar la biblia de la estructura de datos y algoritmos: CLRS. Lado a lado, debes competir en varias competencias competitivas de programación.

  • Comience resolviendo problemas en el libro Entrevista de descifrado. Tienen un nivel de dificultad fácil a medio y cubrirán las estructuras de datos básicas (matrices, cadenas, listas, pilas, colas, árboles y gráficos) y algoritmos (manipulación de bits, programación de recursión y dinámica, clasificación y búsqueda, escalabilidad y límites de memoria) que necesitas saber
  • Después de eso, puedes practicar en LeetCode. Otros sitios en línea donde puede practicar o encontrar preguntas de entrevistas: GeeksForGeeks, HackerRank, CareerCup, Glassdoor.
  • Cuando te sientas listo, te recomendaría hacer algunas entrevistas simuladas. Hacer problemas por su cuenta es muy diferente de enfrentar una entrevista real en una situación de presión.

¡¡Todo lo mejor!!

Te recomiendo que leas un libro llamado “Entrevista Crack The Coding”, te ayudará mucho en tu entrevista

Este es el enlace para el libro en amazon

Cracking the Coding Interview, cuarta edición: Gayle Laakmann, Gayle Laakmann McDowell: 9781451578270: Libros

Te señalaría uno de los mejores libros, un clásico realmente, sobre el arte de la programación es ‘La práctica de la programación (Kernighan & Pike)’.

Puede descargar el PDF gratis aquí La práctica de la programación por Brian W. Kernighan y Rob Pike.pdf

Ayuda a construir una base sólida.

Este es un libro bastante bueno Estructuras de datos y análisis de algoritmos en Java

Pero dudo que solo necesite saber DS y algoritmos.

  • Serie Schaum Estructuras de datos en Java
  • Strcutures de datos en C ++ Oxford
  • Aprender estructuras de datos y algoritmos Sams
  • Pruebe varios problemas como evaluación y conversión de expresiones, retroceso o cualquier otra aplicación, etc.

Introducción a los algoritmos es un libro de Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest y Clifford Stein

Te sugiero que leas esto.

No creo que esté escrito específicamente para Java, pero Cormen et al “Introducción a los algoritmos” parece ser bastante completo.