Estos 2 libros son excelentes recursos, y el tiempo que tiene para prepararse lo hace aún mejor. Centraré mi respuesta en las estructuras de datos, aunque le recomiendo que también use estos libros para aprender / revisar la clasificación, la búsqueda y la manipulación de cadenas para sus entrevistas. Aquí hay una de las muchas formas de abordar esto:
- Aprenda / revise y realmente comprenda el análisis Big-O en el capítulo “I Fundamentos” de CLRS. Asegúrese de que esto esté fuera de su camino, luego proceda
- Aprenda y revise las estructuras de datos en el capítulo “III Estructuras de datos” de CLRS. Tome buenas notas y asegúrese de comprender su implementación. Impleméntelos en su idioma preferido (uno que sería posible usar en una entrevista). Es probable que no se le pida que implemente las estructuras de datos que se encuentran en el capítulo “Estructuras de datos avanzadas V”, pero léalas si tiene tiempo
- Lea la sección “Algoritmos de gráficos elementales” del capítulo “Algoritmos de gráficos IV”. Los problemas gráficos son aparentemente muy populares en estas entrevistas
- Practique escribir código para problemas en “Cómo descifrar la entrevista de codificación” en una pizarra. Intenta resolver los problemas por tu cuenta antes de buscar las soluciones / explicaciones. Haz que un amigo te entreviste con algunos de esos problemas y no te saltes los difíciles. Con tiempo en tus manos, resuelve 2-3 problemas todos los días
Recuerde que no hay una respuesta única para esto, así que asegúrese de utilizar los recursos que tiene para resolver sus debilidades según sea necesario (es decir, vuelva a visitar las secciones sobre temas que podrían no estar claros cuando se atasca). Te darás cuenta de que CLRS es impresionante como referencia, y que CTCI es un gran recurso para prepararte para problemas muy similares a los que recibirás en entrevistas técnicas. Al final, no solo estará más preparado, sino que probablemente disfrutará aprendiendo / revisando los temas a medida que mejore en la resolución de problemas y la programación.
Finalmente, es importante saber que aunque tenga grandes recursos en sus manos, saber cómo usar las API en el idioma de su elección (especialmente en una pizarra) y comprender cómo se implementan es definitivamente tan importante, junto con otros temas cubiertos en CTCI (por ejemplo, recursividad, programación dinámica, hilos, diseño de sistemas).
- ¿Qué preguntas le hicieron en la entrevista de programación para Google, Amazon, Facebook o Microsoft?
- ¿Conocer solo las estructuras de datos básicos y los algoritmos no es suficiente para descifrar las entrevistas más técnicas en las grandes empresas?
- ¿Cómo debo prepararme para una entrevista SDE in situ en Microsoft? Me cuesta elaborar un plan para poder cubrir / actualizar la mayoría de los temas en 2 semanas.
- ¿Cuál es la peor forma de prepararse para una entrevista de ingeniería de software?
- ¿Debería uno prepararse para programar entrevistas, o permitir que se pruebe su talento original en lugar de las cosas que memorizó para la entrevista? ¿Por qué?
Use estos recursos con tiempo y disciplina.
¡Buena suerte!