En primer lugar, ¿en qué tipo de empresa esperas que te coloquen?
No todas las empresas hacen preguntas detalladas sobre estructuras de datos y algoritmos.
Si apunta a empresas como Amazon, Microsoft, Google, Facebook , entonces sí, tendrá que estudiar las estructuras de datos y los algoritmos en detalle.
- ¿Cuál es bueno, ingeniería informática o ingeniería mecánica?
- ¿Qué es mejor, IIIT-H o IIT (Los 6 mejores) para la ingeniería informática?
- ¿Cuáles son algunos de los mejores blogs activos relacionados con STEM en Quora que podrías seguir?
- Como un graduado de 40 años con un título en ingeniería informática, ¿qué tan difícil será ingresar a la fuerza laboral?
- ¿Cuál es mejor para estudiar ingeniería eléctrica / informática para un estudiante universitario: Boston University o Northeastern University?
- Encuentro que Cormen es demasiado profundo en algunos puntos. Tal profundidad no es necesaria para superar estas entrevistas. Por ejemplo, no necesita cubrir árboles B, B + y otros miles de estructuras de datos especializadas. El libro Data Structures and Algorithms made Easy de Narasimha Karumanchi es genial. Estructuras de datos y algoritmos de NPTEL Delhi es el mejor material.
- Sin embargo, debe conocer y comprender las estructuras de datos básicas, como pilas, colas, listas vinculadas, árboles binarios, etc. Debe poder aplicarlos prácticamente a los problemas correctamente, de la manera más eficiente. Estas entrevistas son esencialmente una prueba de qué tan bien puede encontrar soluciones utilizando estas estructuras de datos básicas para los problemas que se le plantean. No solo debe resolver el problema, también debe elegir las estructuras de datos más eficientes , debe elegir la combinación de complejidad de tiempo y espacio más eficiente. Para que alcance este nivel de resolución de problemas, le sugiero que lea los siguientes libros: Gayle’s Cracking the Coding Interview, Programming Interviews Exposed.
- Del punto anterior se deduce que debe tener una buena comprensión del espacio y la complejidad del tiempo .
- También necesitarías entender la recursividad . Para esto, le sugiero que resuelva algunos problemas fáciles en Competencia de programación, Concurso de programación, Programación en línea.
- Debes ser competente con C / C ++ / Java. Para escribir código eficiente, usa STL de C ++ y conoce su biblioteca de algoritmos que te será de gran ayuda.
- Se le pedirá que escriba código (no seudocódigo). Su código debe estar limpio y libre de errores. La programación en SPOJ y Codeforces también lo ayudará con este punto.
- Para comprender gráficos, programación dinámica, DFS, BFS, etc., los Tutoriales de algoritmos de Topcoder se encuentran probablemente entre los mejores recursos.
- Además de los puntos mencionados anteriormente: GeeksforGeeks: un portal informático para geeks le ayudará mucho en la preparación general. Tiene una maravillosa recopilación de experiencias de entrevistas.
- ¡Ah, y también necesitarás aprender los conceptos básicos del sistema operativo y la red para estas entrevistas! Sin embargo, ¡solo los conceptos importantes deberían funcionar!
Para muchas otras empresas basadas en CS, entender los punteros en C / C ++ parece ser un requisito para superar las pruebas de aptitud. Y, en general, las entrevistas dan igual peso a las redes DS / OS /, programación básica y otros. Pero no se espera una codificación perfecta para estas empresas. Y solo necesita comprender DS y Algoritmos a un nivel superficial.
La clave del éxito es la práctica! ¡¡Práctica!! ¡¡¡Práctica!!!
¡¡¡Nunca te rindas!!!
¡Disfruta de la codificación! 🙂
¡Mucha suerte con tus entrevistas! 🙂