DevOps - Junior

0/12 preguntas respondidas 0%
Información del candidato
Formatos aceptados: PDF, DOC, DOCX. Máximo 5MB

Preguntas de conocimiento

Pregunta 1 de 12: Este Dockerfile tiene varios problemas: `FROM ubuntu:latest RUN apt-get update RUN apt-get install -y python3 pip COPY . /app RUN pip install -r /app/requirements.txt CMD python3 /app/main.py`. ¿Cuáles son?
Pregunta 2 de 12: ¿Cuál es la diferencia entre CMD y ENTRYPOINT, y entre COPY y ADD en Docker?
Pregunta 3 de 12: ¿Cuándo elegir EC2 vs ECS vs Lambda vs Fargate en AWS?
Pregunta 4 de 12: ¿Cuál es la diferencia entre Security Group y NACL (Network ACL) en AWS?
Pregunta 5 de 12: ¿Cuáles son los equivalentes de S3, Lambda y RDS en Azure?
Pregunta 6 de 12: ¿Cuál es la diferencia entre Cloud Run, Cloud Functions y GKE en Google Cloud?
Pregunta 7 de 12: En Kubernetes, ¿qué son Pod, Deployment y Service y cómo se relacionan?
Pregunta 8 de 12: Este código Terraform tiene un error: `resource "aws_instance" "web" { ami = aws_ami.custom.id } resource "aws_ami" "custom" { source_instance_id = aws_instance.web.id }`. ¿Cuál es?
Pregunta 9 de 12: ¿Qué es el state de Terraform y por qué no se debe commitear al repositorio?
Pregunta 10 de 12: ¿Cuáles son las etapas típicas de un pipeline CI/CD y la diferencia entre CI y CD?
Pregunta 11 de 12: ¿Qué es Ansible y en qué se diferencia de Terraform?
Pregunta 12 de 12: ¿Cómo automatizar un despliegue tras un push a la rama main usando webhooks?

Desafío de código

Crea un pipeline CI/CD completo usando GitHub Actions o GitLab CI que incluya todas las etapas desde lint hasta deploy a staging. Incluye también un docker-compose.yml para desarrollo local.

Requisitos

  1. Pipeline con etapas: lint, tests unitarios, build Docker multi-stage, push a registry, deploy a staging
  2. Dockerfile multi-stage optimizado (builder + runtime)
  3. docker-compose.yml para desarrollo local con hot-reload
  4. Secrets gestionados como variables de entorno del CI (no hardcodeados)
  5. Notificación de estado del pipeline (Slack, email o similar)

Ejemplos

Entrada: Push a rama main con cambios en src/
Salida: Pipeline ejecuta: lint (ESLint/Flake8) → tests → build imagen Docker → push a ECR/GHCR → deploy a staging con health check

Tecnologías aceptadas

  • GitHub Actions
  • GitLab CI
  • Docker + Docker Compose
  • Terraform (opcional para infra)
  • Cualquier lenguaje para la app de ejemplo

Envío de solución

Plataformas soportadas: GitHub, GitLab, Bitbucket Introduce una URL válida de repositorio (https://github.com, gitlab.com o bitbucket.org seguido de usuario/repositorio)