En muchas cosas de la vida, se puede usar la solución rápida. ¿Necesita transporte? Agarra un Uber. ¿Necesitas comida? Agarrar comida para llevar. ¿Necesitas una respuesta a una pregunta? Pregúntale a Quora …
Pero sugeriría que la solución rápida, si hay una aquí, no le beneficiará más a largo plazo que la ruta obvia, aunque dolorosa, de mejorar en la programación y en la programación de “desafíos” (es decir, problemas en diseño de algoritmos).
(Es decir, suponiendo que desea el rol de desarrollador de software. Si desea un trabajo que no sea de desarrollo, podría ser capaz de combinar sus habilidades técnicas en ese tipo de rol, sin ser bueno en la programación o el diseño de algoritmos. También podría conseguir un trabajo como desarrollador en algún lugar de una manera más fácil, pero eso podría no ser mejor para su carrera a largo plazo).
- ¿Debería usar el prestigio de mi padre en su campo para mi ventaja cuando solicito un trabajo en el mismo campo?
- Estoy tratando de obtener un puesto de trabajo durante los últimos 6 meses en el sector de TI. ¿Qué tengo que hacer?
- Acabo de obtener mi título en matemáticas. ¿Cómo puedo conseguir un trabajo en una empresa como Google?
- Cómo conseguir un mejor trabajo en tecnología
- ¿Cuáles son las mejores formas de postularse a empleos en Canadá?
Necesitará dos tipos de recursos para ayudarlo a mejorar en el diseño de algoritmos:
(1) Un texto (puede ser un PDF, un sitio web o un libro real) que le enseña los principios de diseño de algoritmos y algunos métodos comunes para atacar problemas.
Considere estos:
Entrevista para descifrar la codificación: 189 Preguntas y soluciones de programación: Gayle Laakmann McDowell: 9780984782857: Amazon.com: Libros
The Algorithm Design Manual: Steven S Skiena: 8601404387784: Amazon.com: Libros
Amazon.com: Elementos de las entrevistas de programación: Guía de información privilegiada (9781479274833): Adnan Aziz, Tsung-Hsien Lee, Amit Prakash: Libros
Algoritmos (4a edición): Robert Sedgewick, Kevin Wayne: 8601400041420: Amazon.com: Libros
Introducción a los algoritmos, 3a edición (MIT Press): Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: 9780262033848: Amazon.com: Libros
Estos son más o menos en orden descendente de cuán accesibles son los textos (los últimos pueden ser desafiantes). Algunos están diseñados como textos académicos, mientras que otros están diseñados como manuales de preparación para entrevistas.
(2) Una fuente de problemas y una forma de verificar sus soluciones.
Considere estos (o cualquiera de los otros por ahí):
Juez en línea de UVa – Inicio
HackerRank
Si bien estos son sitios web de “programación competitiva” y aunque algunas personas tienen aversión a eso, no hay nada que diga que tienes que usarlos de manera competitiva. Estos sitios web (junto con uHunt :: UVa Hunting para el primero) clasifican los problemas de práctica para que pueda concentrarse en áreas débiles. No es necesario modificar la forma en que escribe el código o participar en el aspecto competitivo, para hacer un buen uso de dichos sitios para la práctica.
Para practicar para la configuración de la entrevista, considere codificar primero en papel y luego transferir ese código a un compilador para ver cuáles son los errores.
Es posible que necesite o no recursos adicionales, como una guía para el lenguaje de programación elegido y practicar su uso eficiente. Según mi experiencia, muchos programadores luchan por recordar los detalles con respecto a un solo lenguaje de programación, a menudo se han acostumbrado a buscar muchas cosas (o confiar en un IDE). Debe haber al menos un lenguaje de programación que conozca lo suficientemente bien como para ser fluido y escribir el código en papel.