DevOps Engineer
CI/CD questions
92 questions on CI/CD for devops engineers, easiest first.
Easy 25
- CI vs Continuous Deliveryeasy
- Undoing a commit already pushed to maineasy
- Blue-green deploymenteasy
- What set -euo pipefail doeseasy
- Rebase vs mergeeasy
- Trunk-based developmenteasy
- Where GitHub Actions workflows liveeasy
- GitLab CI stageseasy
- Why keep a Jenkinsfile in the repoeasy
- Immutable infrastructureeasy
- Parking unfinished changeseasy
- Copying one fix to a release brancheasy
- Version bump for a breaking changeeasy
- Build once, promote everywhereeasy
- Releasing when a tag is pushedeasy
- Stopping direct pushes to maineasy
- Finding which commit broke a testeasy
- .gitignore not ignoring a fileeasy
- Conventional commit prefixeseasy
- What squash merge doeseasy
- Keeping secrets out of CI logseasy
- Why post the plan on a PReasy
- Installing collections in CIeasy
- Using :latest in a Deploymenteasy
- Rolling back a bad Deploymenteasy
Medium 39
- Deciding to promote a canarymedium
- Cloud credentials in CImedium
- Choosing a CI cache keymedium
- Matrix jobs cancelled earlymedium
- Secrets empty on fork PRsmedium
- Two pipelines for every pushmedium
- Running builds on the Jenkins controllermedium
- Argo CD app always OutOfSyncmedium
- Making deploy wait for testsmedium
- Artifacts vs cache in CImedium
- Two deploys at the same timemedium
- Approval before production deploymedium
- Merge conflict in package-lock.jsonmedium
- Sharing one pipeline across 30 reposmedium
- Choosing an image tag in CImedium
- Speeding up GitLab stagesmedium
- git describe fails in CImedium
- Computing change failure ratemedium
- When rolling updates are unsafemedium
- Builds pass or fail by runnermedium
- Where to fix a production bug firstmedium
- Limiting GITHUB_TOKEN rightsmedium
- Pinning third-party actionsmedium
- Why CI uses npm cimedium
- Mounting the Docker socketmedium
- Secret leaked despite maskingmedium
- Using secrets in a Jenkinsfilemedium
- GitLab variable for prod deploys onlymedium
- A sensible image scan gatemedium
- Admins skipping branch protectionmedium
- Who must review pipeline changesmedium
- Trusting a deploy webhookmedium
- What a signed commit provesmedium
- Proving a binary came from your workflowmedium
- Applying exactly what was reviewedmedium
- What Atlantis doesmedium
- Pods during a 25 percent rolloutmedium
- How rollout restart worksmedium
- Making CI wait for the rolloutmedium
Hard 28
- Rolling update that never finisheshard
- Hotfix keeps disappearinghard
- Renaming a column with zero downtimehard
- Risky GitHub Actions triggerhard
- Secrets in a GitOps repohard
- Running migrations before rollout in Argo CDhard
- Canary on a low-traffic servicehard
- First move in a post-deploy outagehard
- PR stuck waiting for a required checkhard
- set -e does not stop the scripthard
- Median lead time for changeshard
- Main breaks with two green PRshard
- Shipping a new API field to the apphard
- Same commit, different build resulthard
- Wall time after test shardinghard
- Recovering after a bad force pushhard
- Security gain of pull-based GitOpshard
- Migrations run by every replicahard
- Docker cache on fresh runnershard
- Self-hosted runners on a public repohard
- Cache poisoning in a release buildhard
- Injection through an issue titlehard
- Installing a CLI with curl | bashhard
- Where to run an active DAST scanhard
- Stopping exfiltration from runnershard
- Worms spread through install scriptshard
- Workflows approving pull requestshard
- Changing a Deployment selectorhard