How do you implement safe rollbacks in a delivery pipeline?
Assesses fundamental understanding of CI/CD conventions, runtime behavior, and memory/performance considerations.
Hiring managers look for precision, avoidance of ambiguous jargon, and ability to explain trade-offs under real production conditions.
Make rollback a first-class, automated, and tested operation.
- Immutable artefacts: deploy versioned images or packages so you can redeploy the previous one exactly.
- Deployment strategies: use blue/green or canary so you can shift traffic back instantly. For Kubernetes, kubectl rollout undo reverts a Deployment.
- Database changes: use expand-and-contract migrations. Add columns and backfill first, make code compatible with both schemas, then remove old columns in a later release. Never ship a destructive migration with the code that needs it.
- Health checks and gates: automated verification after deploy, such as smoke tests and canary analysis, with automatic abort on failure.
- Feature flags: disable a feature without redeploying.
- Observability: alert on SLOs so you detect regressions quickly.
kubectl rollout history deployment/api
kubectl rollout undo deployment/api --to-revision=3
Practice rollbacks in game days; an untested rollback path is not a real safety net.
Candidate Response Strategy & Interview Tips
- Start with a concise one-sentence summary: Deliver a direct, confident answer first before expanding into nuances.
- Demonstrate real-world trade-offs: Discuss where this approach excels and when you would avoid it in production systems.
- Discuss complexity & edge cases: Proactively explain time/space complexity or boundary conditions (null values, scale limits).
- Prepare for interviewer follow-ups: Technical hiring panels frequently probe deeper into concurrency, backward compatibility, or alternative libraries.