Prepárate para los desafíos del código [cerrado]


15

Hace solo unos días descubrí Codility , y probé sus desafíos. Y debo decir. Me dieron la mano en una bandeja. No estoy seguro de cuál era el problema, pero lameré mis heridas y esperaré a que salga la solución y la compararé con la mía. Mientras tanto, quiero prepararme para el próximo desafío, así que estoy leyendo sus publicaciones de blog anteriores y viendo cómo resolver sus problemas anteriores. Hay muchas cosas nuevas de las que no he oído hablar (árboles cartesianos, varios algoritmos de clasificación, etc.)

Entonces, ¿cómo se prepara uno para tales desafíos (especialmente la complejidad de tiempo y espacio O (x)). ¿Qué debo leer para prepararme para tal tarea?


He estado estudiando últimamente Haskell en parte para obligar a mi cerebro para retorcer (que va a obligar a esto) específicamente para ayudar a ser más ágil para idear soluciones. Dicho esto, también estoy leyendo The Algorithm Design Manual (existe un pdf en línea gratuito) y una copia de la venta de garaje de The Art of Computer Programming Vol 1 Algorithms fundamentales de Knuth (que también es una fuente grave de dolor cerebral) para el mismo propósito .
Jimmy Hoffa

Respuestas:


3

¿Cómo se prepara uno para tales desafíos (especialmente la complejidad de tiempo y espacio O (x)). ¿Qué debo leer para prepararme para tal tarea?

Al prepararse, por supuesto! Es una cuestión de práctica y ponerse al día sobre las áreas que te has sentido corto. Gracias a Dios, recursos bastante buenos para cubrir una vez que las deficiencias de información están en Internet y Google es tu amigo.

Con respecto a las referencias, recomendaría varios sitios web que tienen preguntas de desafío para programadores. A partir de esos tipos de preguntas, puede determinar sus deficiencias y estudiarlas.

Recursos para buscar:


7

Lo único que puede hacer para prepararse para este tipo de pruebas es practicar. Practicar mucho . Hay muchos recursos buenos para la ayuda de codificadores, como topcoder, codegolf, geeks para geeks, Praxies de programación, CodeKata, Project Euler, etc.

Si tiene problemas con las estructuras de datos, sería mejor que repase sus conceptos de algoritmo y estructura de datos. El mejor lugar para eso es wikipedia, pero también puede buscar cursos de datos de algo en nptel, coursera, etc.


Estaba buscando más recursos como libros, pero algunos de sus enlaces han sido nuevos e informativos.
Daniel Fath

1
@DanielFath: Leer acerca de esto ayuda, pero la resolución de problemas es un arte que debe practicarse si quieres ser bueno en eso. En el mundo del software de escritura, hay una cantidad sorprendentemente grande de problemas que verá repetidamente. La experiencia de haberlos resuelto antes le permite detectar nuevas variaciones y aplicar rápidamente una buena solución.
Blrfl

Estoy de acuerdo con la práctica en gran parte, simplemente estoy expresando el deseo de contar con recursos más concretos para considerar la cuestión resuelta. Voté las respuestas (diablos, las voté todas).
Daniel Fath

4

Las publicaciones de blog semioficiales sobre el reclutamiento de Google recomiendan este libro: el Manual de diseño de algoritmos .

Es muy completo y está bien escrito, con una parte de 'referencia rápida' que puede ayudar mucho en su situación, una vez que esté lo suficientemente familiarizado con algoritmos y estructuras de datos comunes.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.