What do CI and CD actually mean, and what is the difference between continuous delivery and continuous deployment?
What they are really testing: Whether you can separate the three ideas precisely: CI (integrate + test on every commit), continuous delivery (always releasable), continuous deployment (auto-released). People blur them constantly.
A real interview question
What do CI and CD actually mean, and what is the difference between continuous delivery and continuous deployment?
What most people say
drag me
“CI/CD means automating your build and deployment pipeline.”
It collapses three distinct ideas into one phrase. The interviewer wants CI (integrate + test) separated from continuous delivery (always releasable) versus continuous deployment (auto-released), which is the actual question.
The follow-ups they ask next
When would a team choose continuous delivery over continuous deployment?
When they want a human approval before production, regulatory/compliance gates, manual QA, or simply not yet trusting the test suite enough to auto-release. Delivery keeps everything always-shippable but holds the final push for a person.
Why is continuous integration the prerequisite for both?
Without automated build and tests on every merge, you cannot trust that what passes is releasable. CI provides that constant verification; delivery/deployment just decide what to do with a passing build.
What the interviewer is listening for
- Separates CI from the two CDs
- Delivery = always releasable, deployment = auto-released
- Knows the pipeline can be identical, the gate differs
What sinks the answer
- Collapses all three into "automation"
- Confuses delivery and deployment
- No notion of CI as the test foundation
If you genuinely do not know
Say this instead of freezing. Reasoning out loud from what you do know beats silence every single time, and a good interviewer is listening for exactly that.
“CI is [merge to mainline frequently with automated build + tests on every commit, catch integration issues early]. Continuous delivery is [every passing change is always releasable, a human approves the release]. Continuous deployment is [every passing change auto-deploys to prod, no gate]. The difference: [delivery = ready to ship, deployment = shipped automatically], same pipeline, different final gate.”
Keep going with deployment
Foundation
Why should you build an artifact once and promote the same one through environments?
Junior
What stages should a good CI/CD pipeline have?
Junior
A deploy went bad in production. How do you handle rollback, and how do you make rollback easy?
Junior
What are feature flags, and how do they decouple deployment from release?
Mid
Compare blue-green and canary deployments. When would you reach for each?
Mid
How does your branching strategy affect continuous delivery? Trunk-based versus long-lived branches.
Knowing the answer is not the same as recalling it under pressure
Sign in to send the questions you fumble to spaced recall, so they come back right before you would forget them, and learn the concepts behind them with hands-on labs.
Start free