No estoy seguro de por qué la otra respuesta se derrumbó, pero la práctica es su objetivo final.
Si tiene problemas con esas preguntas de desafío, algo que encuentro útil es ir a Wikipedia y revisar toda su lista de estructuras de datos. Muchas veces, los problemas se vuelven mucho más fáciles cuando se sabe qué estructura usar, por ejemplo, una pregunta requiere conocer el valor mínimo de una lista en o (1), es probable que un minheap pueda ser útil.
A continuación, revise algunos algoritmos comunes e impleméntelos. Cosas como la búsqueda binaria son muy comunes. Recomiendo obtener el libro de la entrevista de Cracking the Coding para esto, tienen una gran lista de ejemplos y algoritmos para trabajar.
- ¿Cómo funciona el PageRank?
- ¿Cuál: Estructura de datos y pensamiento algorítmico con Python (Narasimha Karumanchi) o Estructuras de datos y algoritmos en Python (Michael T. Goodrich)?
- ¿Cuáles son los ejemplos de implementación de algoritmos de clasificación en Android?
- ¿Cuán relevantes son los fundamentos de CS (compiladores, análisis de algoritmos, estructuras de datos, etc.) en el desarrollo web profesional?
- Cómo encontrar la longitud máxima de la submatriz en una matriz determinada
Una vez que sepa esto, encuentre un idioma que le guste y comprenda cómo implementarlo en ese idioma. Por ejemplo, si usa python, debe conocer el módulo bisect que le ahorra la implementación de la búsqueda binaria.
En este punto, estás listo para practicar problemas en Code Wars, Hacker Rank, etc. Si solo quieres ser bueno en las entrevistas, no hagas los problemas de tipo rompecabezas, busca el algoritmo general desafiado que parece preguntas de entrevista. Asegúrese de comprender sus códigos en grande y, después de enviarlos, busque las soluciones de otras personas. Definitivamente aprenderá de las soluciones de otras personas, ya que utilizarán algoritmos y estructuras más avanzadas. Una vez que descubra eso, comenzará a ser dueño de esas entrevistas e impresionará a todos sus entrevistadores.