La gente pregunta constantemente sobre esta mierda, así que solo escribiré una respuesta en ella …
Si desea mejorar en algo como esto, todo lo que tiene que hacer es intentarlo, encontrar los límites de su conocimiento, investigar para completar esos límites, dedicar un tiempo a integrar su nuevo conocimiento y repetir.
El proceso no es tan complicado. Simplemente se enjuaga y se repite, se sigue presionando hasta que se resuelven los problemas y se mejora con el tiempo. Use libros y Google y lea explicaciones para completar los bordes, y siga intentando problemas cada vez más difíciles.
Vaya a HackerRank o CodeChef o al sitio que desee, comience con facilidad y vaya avanzando.
- Cómo separar sus habilidades reales de las percibidas erróneamente o deseadas
- ¿Puedes escribir algo para motivarte?
- ¿Cuáles son algunos consejos para empresarios introvertidos que desean mejorar sus habilidades de ventas?
- Voy a la universidad en mi ciudad natal. ¿Qué cosas puedo hacer para darme el mismo crecimiento, independencia y experiencias que trae salir de casa?
- Cómo mejorar mis fundamentos de la física.
Eso es. Esto es todo lo que necesitas saber. El 99% de las preguntas sobre cómo aprender esto son innecesarias. A menos que esté a la vanguardia de todo esto, todo lo que necesita ya se ha escrito, y solo es un Google o un CLIF.
Y ahora es el momento de una perversa opinión, probablemente polémica …
Personalmente creo que el enfoque obsesivo en los algoritmos de hoy y el formato que tiene éxito para la programación competitiva es algo perjudicial y un poco desperdicio …
Puedo resolver esos problemas de esa manera, y he visto mucho de ese tipo de código, y la forma en que aprendes a codificar para esos problemas no es cómo quieres codificar para proyectos reales. Es rápido y breve y opaco y extraño.
Cuando estoy resolviendo cosas como esa, usaré estos nombres de variables desagradables, no descriptivas y condicionales de mierda, etc. y todo está preparado para correr lo más rápido posible, sin importar si alguna vez necesitaría correr tan rápido en cualquier Un mundo sano, y sin importar si las herramientas requeridas para hacer que marque algunas casillas lo hacen quebradizo en vez de extensible.
Tampoco entiendo que el esfuerzo sea estúpidamente rápido para resolver todos los problemas complejos (o al menos dentro de la limitada gama de problemas que normalmente se cubren).
En el mundo real, mis problemas están en dominios específicos a los que me he acostumbrado, y los problemas de nivel avanzado solo surgen una vez cada 2 o 3 meses aproximadamente, y luego puedo pasar 3 días trabajando en ello y llenando los vacíos de conocimiento y ver cómo la gente hace las cosas, etc., si quiero, para resolverlo bien. A nadie le importa.
La codificación competitiva y los problemas de algoritmos son muy poco realistas y han puesto un gran énfasis en una de las piezas más pequeñas (en el tiempo) del desarrollo de software real.
Es como si quisieras ser un jugador profesional de fútbol, así que en lugar de jugar juegos reales, simplemente pasas todo el día intentando hacer malabares y hacer patadas arcoiris, porque sabes que eso es lo único que preocupa a los exploradores en este hipotético mundo loco.
Todo se ha convertido en una parodia absurda de sí mismo, y evita que las personas aprendan habilidades útiles o hagan cosas reales.
Algunas personas lo hacen porque simplemente lo aman y les rasca la picazón, y eso es genial.
Pero parece un tanto fastidio que el 90% de las personas que lo hacen estén presionando para obtener un sentimiento de desarrollo personal fuera de lugar en lo que esencialmente se ha convertido en una cultura glorificada de preparación para el SAT.
La cultura que se desarrolla a su alrededor es simplemente tonta y un desperdicio colosal de capital humano.
Tal vez eso sea un poco demasiado predicativo, pero la magnitud de estas cosas, y lo que veo en Quora todos los días destaca el absurdo de todo esto.