💾 Archived View for andros.dev › infinita-recursion captured on 2024-08-25 at 00:06:11. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Retos de programación con dificultad incrementalp ara mejorar como programador y superar pruebas técnicas.
Te encuentras ante un libro de actividades con 2 niveles de dificultad, donde te enfrentarás a los casos más comunes que te puedes encontrar en pruebas técnicas:
- Algoritmos: búsqueda, ordenamiento, compresión...
- Árboles binarios.
- Datos estructurados: JSON, XML, CSV...
- Matrices: Tetris, juego de la vida...
- Programación funcional: recursividad, reducción, currying, evaluación perezosa, memoization, pipe...
- Multihilos.
- Creación de una base de datos.
Cada reto te acercará a ser un mejor programador impulsando tu perfil profesional además de mejorar tus habilidades transversales.
1. Usa un lenguaje incómodo. Mi recomendación es que aproveches para trabajar con un lenguaje que quieras aprender o tengas poca experiencia.
2. Todas las variables deben ser constantes. Por ejemplo, si empleas JavaScript no uses ni let ni var, solo const. Cuando tengas la necesidad de modificar una variable, simplemente crea otra. A esta buena técnica, extraída directamente de la programación funcional, se denomina inmutabilidad.
3. Prohibido usar bucles como while o for. Aunque si está permitido recorrer secuencias (como un Array), usando funciones (como forEach, map, filter o reduce). También puedes recurrir a la recursión (una función que se llama a sí misma).
4. Sin testing, no se considera una solución fiable. Acompaña cada función son sus asserts o pruebas automatizadas. Todos los lenguajes disponen de herramientas para hacer tests. Mi recomendación es que trabajes con un enfoque TDD (Desarrollo guiado por pruebas de software).
Todos los retos estarán divididos con 2 enunciados, dependiendo de cuanto desafío estés buscando.
- Normal 🐤: Para la gran mayoría de los lectores. Ajustado para ser resuelto con un esfuerzo medido y realista.
- Pesadilla 👹: Solo para aquellos con experiencia previa que bostezaron al completar el nivel anterior. No es para todos los públicos.