Desafortunadamente no hay una fórmula mágica involucrada. He practicado la resolución de problemas algorítmicos aún más complejos durante muchos años, y generalmente puedo asociar de inmediato cualquier pregunta con problemas resueltos previamente. Con suficiente experiencia, las preguntas de la entrevista en realidad parecerán bastante fáciles. Mi consejo para cualquiera sería primero obtener una base teórica sólida en algoritmos y luego practicar regularmente en algunos sitios web de programación competitivos. Créeme, valdrá la pena.
MIT tiene una muy buena clase introductoria de algoritmos disponible en línea de forma gratuita Introducción a los algoritmos. En cuanto a los sitios web de programación competitivos, hay muchos de ellos. Mi favorito es Codeforces. Sin embargo, no se concentre en los problemas más difíciles, intente resolver los más fáciles y optimice el tiempo dedicado. Comenzarás a ver patrones después de un tiempo.
- Mientras practico la programación, muchas veces no puedo escribir código para un algoritmo o pseudocódigo, incluso después de entender el algoritmo claramente en papel. ¿Cómo supero este problema?
- ¿Cuál es el algoritmo de Apache Hadoop?
- ¿Cómo funciona el algoritmo de búsqueda de ciclo de Floyd? ¿De qué manera mover la tortuga al comienzo de la lista vinculada, mientras se mantiene a la liebre en el lugar de reunión, seguido de mover un paso a la vez, hace que se encuentren en el punto de inicio del ciclo?
- ¿Cuál es la forma lógica de resolver el problema SPOJ 'Palin'?
- ¿Cuál es el mejor algoritmo de detección de colisión de vehículos?