Lesson 5 of 30
CI catches problems early with fast automated feedback; CD ships validated changes — and 'delivery' vs 'deployment' is a real distinction people blur together.
12 min read
Every option explains itself — why the right one is right, and why each wrong one is wrong. Miss one and it comes back later on a spaced-repetition schedule.
Question 1 of 2
In a CI pipeline, why should lint and typecheck steps typically run before the slower test suite, rather than after?
Hints without spoilers, and a plain explanation of why a wrong answer was wrong — answered only from this lesson. Free account, no card.
Sign up freeWhat interviewers actually ask about this, and what a strong answer has to cover.
A strong answer covers
Likely follow-ups
A strong answer covers
Likely follow-ups
Continuous Integration (CI): every code change automatically gets built and tested before it merges — catching a broken change in minutes, not at release time weeks later.
Continuous Delivery and Continuous Deployment get used interchangeably, but they're different:
on: pull_request
jobs:
ci:
steps:
- run: pnpm install
- run: pnpm lint # cheapest checks first
- run: pnpm typecheck
- run: pnpm test
- run: pnpm build
# then, separately, on merge to main:
deploy-staging:
steps:
- run: deploy to staging automatically # Continuous Deployment, to staging
deploy-production:
steps:
- run: wait for manual approval # Continuous Delivery, to production
- run: deploy to production
Notice the order inside the CI job: lint and typecheck run before the slower test suite. A broken change fails in seconds on the cheap checks, instead of waiting behind a 20-minute test run to find out.
git push triggers a pipeline automatically: install deps, run tests, build.
At any company with more than a handful of engineers, CI/CD is what lets many people ship to the same codebase daily without stepping on each other or shipping something broken straight to real users. It's infrastructure, not a nice-to-have — and "what would you do if the pipeline is too slow to trust" is exactly the kind of practical, scenario-based question that comes up once you're past pure language/framework trivia.