Ejercicio de programación: Agregador de precios con timeouts usando context
Este ejercicio de programación está diseñado para poner a prueba tus conocimientos en CertiDevs.
Información adicional del ejercicio
Implementa un agregador de precios que consulta varios proveedores en paralelo respetando un timeout global con context.WithTimeout.
Contenido del ejercicio
Escribe un programa en Go que implemente la función mejorPrecio(proveedores []Proveedor, timeout time.Duration) (Resultado, error) siguiendo estas reglas:
- Crea un contexto con timeout usando
context.WithTimeouty libéralo condefer cancel(). - Lanza una goroutine por proveedor que llame a
consultarProveedor(ctx, p). Esta función ya está implementada y haceselectentretime.After(p.Latencia)yctx.Done(). - Recoge los resultados por un canal con buffer del tamaño del slice de proveedores.
- Descarta los resultados con error
context.DeadlineExceeded. - Devuelve el
Resultadocon el precio más bajo entre los que sí respondieron. - Si ningún proveedor responde a tiempo, devuelve un error con
fmt.Errorfindicando el timeout.
El programa principal debe probar la función con estos proveedores y un timeout de 500 ms:
ProveedorAlatencia 100 ms, precio 89.99ProveedorBlatencia 300 ms, precio 79.50ProveedorClatencia 600 ms, precio 65.00ProveedorDlatencia 1200 ms, precio 55.00
Con ese timeout solo deben responder ProveedorA y ProveedorB, y el resultado impreso por pantalla debe ser ProveedorB con precio 79.50.
Más ejercicios de CertiDevs
Explora más ejercicios de programación en CertiDevs para mejorar tus habilidades y obtener tu certificación.
Ver más ejercicios de CertiDevsExplora el curso completo de CertiDevs
Descubre más contenido de CertiDevs con lecciones, ejercicios y módulos organizados para tu aprendizaje.
Lecciones de CertiDevs
Aprende los conceptos fundamentales con tutoriales detallados
Ejercicios de CertiDevs
Practica con más ejercicios de programación
Módulos de CertiDevs
Explora todos los módulos del curso organizados por temas
Curso completo de CertiDevs
Ver el temario completo con todos los contenidos del curso
Todas las tecnologías
Explora todos los cursos de programación disponibles
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, CertiDevs es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear ejercicios prácticos y contenido educativo de calidad para desarrolladores de todos los niveles.
Solución al ejercicio de programación en CertiDevs
¡Desbloquea la solución completa!
Completa el ejercicio de programación en CertiDevs para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.
Practica con ejercicios de programación en CertiDevs
Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.
Asistente de IA
Aprende de tus errores
Progreso
Mide tu avance
Certificación
Valida tus habilidades
Ejercicios de programación en CertiDevs: Práctica y Certificación
Los ejercicios de programación son fundamentales para dominar CertiDevs. Este ejercicio está diseñado para poner a prueba tus conocimientos prácticos y ayudarte a consolidar lo aprendido en las lecciones teóricas. La práctica constante con ejercicios de programación es la clave para convertirte en un desarrollador experto.
¿Por qué resolver ejercicios de programación?
Resolver ejercicios de programación en CertiDevs te permite:
- Aplicar conocimientos teóricos: Poner en práctica los conceptos aprendidos en las lecciones de CertiDevs.
- Identificar áreas de mejora: Descubrir qué conceptos necesitas reforzar en tu aprendizaje de CertiDevs.
- Prepararte para certificaciones: Los ejercicios te preparan para obtener certificados profesionales en CertiDevs.
- Mejorar tu perfil profesional: Demostrar tus habilidades prácticas en CertiDevs.
Metodología de aprendizaje
Nuestros ejercicios de programación están diseñados siguiendo una metodología probada de aprendizaje progresivo. Cada ejercicio en CertiDevs está cuidadosamente estructurado para llevar tus habilidades al siguiente nivel. Comenzamos con conceptos fundamentales y avanzamos gradualmente hacia desafíos más complejos que reflejan situaciones reales del desarrollo de software profesional.
Certificación y validación de conocimientos
Al completar ejercicios de programación, no solo mejoras tus habilidades técnicas, sino que también puedes obtener certificados que validan tu expertise en CertiDevs. Estos certificados son reconocidos por empresas y pueden ser una gran adición a tu perfil profesional de LinkedIn o tu CV como desarrollador.
Los ejercicios están alineados con los estándares de la industria y cubren desde conceptos básicos hasta técnicas avanzadas de programación en CertiDevs. Cada ejercicio incluye casos de prueba y ejemplos prácticos que te ayudarán a comprender mejor cómo aplicar lo aprendido en proyectos reales.