DevOps - Junior

0/12 preguntas respondidas 0%
Candidate information
Accepted formats: PDF, DOC, DOCX. Maximum 5MB

Knowledge questions

Question 1 of 12: This Dockerfile has several problems: `FROM ubuntu:latest\nRUN apt-get update\nRUN apt-get install -y python3 pip\nCOPY . /app\nRUN pip install -r /app/requirements.txt\nCMD python3 /app/main.py`. What are they?
Question 2 of 12: What is the difference between CMD and ENTRYPOINT, and between COPY and ADD in Docker?
Question 3 of 12: When to choose EC2 vs ECS vs Lambda vs Fargate in AWS?
Question 4 of 12: What is the difference between Security Group and NACL (Network ACL) in AWS?
Question 5 of 12: What are the Azure equivalents of S3, Lambda, and RDS?
Question 6 of 12: What is the difference between Cloud Run, Cloud Functions, and GKE in Google Cloud?
Question 7 of 12: In Kubernetes, what are Pod, Deployment, and Service and how do they relate?
Question 8 of 12: This Terraform code has an error: `resource "aws_instance" "web" { ami = aws_ami.custom.id } resource "aws_ami" "custom" { source_instance_id = aws_instance.web.id }`. What is it?
Question 9 of 12: What is Terraform state and why should it not be committed to the repository?
Question 10 of 12: What are the typical stages of a CI/CD pipeline and the difference between CI and CD?
Question 11 of 12: What is Ansible and how does it differ from Terraform?
Question 12 of 12: How to automate deployment after a push to the main branch using webhooks?

Coding challenge

Create a complete CI/CD pipeline using GitHub Actions or GitLab CI that includes all stages from lint to staging deployment. Also include a docker-compose.yml for local development.

Requirements

  1. Pipeline with stages: lint, unit tests, multi-stage Docker build, push to registry, deploy to staging
  2. Optimized multi-stage Dockerfile (builder + runtime)
  3. docker-compose.yml for local development with hot-reload
  4. Secrets managed as CI environment variables (not hardcoded)
  5. Pipeline status notification (Slack, email, or similar)

Examples

Input: Push to main branch with changes in src/
Output: Pipeline executes: lint (ESLint/Flake8) → tests → build Docker image → push to ECR/GHCR → deploy to staging with health check

Accepted technologies

  • GitHub Actions
  • GitLab CI
  • Docker + Docker Compose
  • Terraform (optional for infra)
  • Any language for the sample app

Solution submission

Supported platforms: GitHub, GitLab, Bitbucket Enter a valid repository URL (https://github.com, gitlab.com, or bitbucket.org followed by owner/repository)