DevOps Engineer question bank
100 questions. Filter by level and skill, track what you've solved, and see how many people get each one right.
- CI vs Continuous Delivery
- Ordering Dockerfile steps for caching
- Image vs container
- Smallest unit in Kubernetes
- Undoing a commit already pushed to main
- What chmod 755 means
- What terraform plan does
- Blue-green deployment
- Which process owns a port
- What set -euo pipefail does
- Rebase vs merge
- Trunk-based development
- Why use a .dockerignore file
- Container exits right after start
- Deployment and ReplicaSet
- Logs from a crashed container
- Are Kubernetes Secrets encrypted
- What namespaces isolate
- Helm values precedence
- What terraform init does
- Why Terraform keeps state
- Idempotency in Ansible
- How Prometheus collects metrics
- Counter vs gauge
- SLI, SLO and SLA
- Where GitHub Actions workflows live
- GitLab CI stages
- Why keep a Jenkinsfile in the repo
- Semantic version for a breaking change
- Immutable infrastructure
- A record vs CNAME
- 502 vs 504 errors
- What Trivy scans for
- Why use Vault dynamic secrets
- Readiness vs liveness probes
- Terraform state in a team
- Why use multi-stage builds
- Kubernetes Service types
- Deciding to promote a canary
- Cloud credentials in CI
- Choosing a CI cache key
- CPU vs memory limits
- ImagePullBackOff from a private registry
- Pod stuck Pending on CPU
- Exit code 137
- HPA shows unknown targets
- NetworkPolicy has no effect
- Node drain hangs forever
- Console change shows up in plan
- Bringing an existing bucket under Terraform
- Sensitive outputs and state
- Replacement causes downtime
- When Ansible handlers run
- Matrix jobs cancelled early
- Secrets empty on fork PRs
- Two pipelines for every push
- Running builds on the Jenkins controller
- Argo CD app always OutOfSync
- Helm says another operation is in progress
- Per-second request rate in PromQL
- Prometheus memory keeps growing
- Choosing what to page on
- Why run an OpenTelemetry Collector
- Traces break between services
- Running containers as non-root
- Cloud key pushed to a public repo
- Cloud access from Pods
- df says full, du says not
- Container ignores SIGTERM
- Removing an item from a count list
- Rolling update that never finishes
- Hotfix keeps disappearing
- Renaming a column with zero downtime
- Same tag, different image
- Errors during every rollout
- Risky GitHub Actions trigger
- Throttled at 30 percent CPU
- Slow external DNS in Pods
- Provider checksum mismatch in CI
- One huge Terraform state
- Refactoring into a module safely
- Secrets in a GitOps repo
- Running migrations before rollout in Argo CD
- StatefulSet Pod pending after node replacement
- Java Pod OOMKilled with free heap
- Canary on a low-traffic service
- Only deploy images built by CI
- Policy webhook takes down deploys
- Alert silent when the service dies
- SLO burn-rate alerting
- Logging bill tripled
- Huge NAT gateway charges
- Running workloads on spot
- First move in a post-deploy outage
- Outage that will not end
- All replicas landed in one zone
- PR stuck waiting for a required check
- set -e does not stop the script
- Deleted secret still in the image
- App fails every hour on DB auth