Build steps create cacheable results. A changed input can invalidate its step and later dependent steps.
Before you start
You should understand the difference between an image, a running container and the host. Record where a file, process or network endpoint actually lives before diagnosing a problem. Commands illustrate local experiments; adapt image names and paths to a disposable development environment.
The practical goal is to reason through this situation: Copy dependency manifests before frequently changing application code when installing dependencies. Read the walkthrough first, then try the interview exercise before opening its answer. The important part is explaining the decision and its consequences, rather than remembering a definition alone.
Step-by-step walkthrough
Step 1: Find changing inputs
Separate dependency manifests from frequently edited application code.
Step 2: Order dependent work
Install dependencies after copying manifests, before copying the rest where valid.
Step 3: Verify reproducibility
Use lock information and compare clean and incremental builds.
Worked scenario
Copy dependency manifests before frequently changing application code when installing dependencies.
A source-only edit should not force dependency installation when the dependency inputs are unchanged. Copying the whole workspace before installation broadens invalidation. Cache improves speed, but a successful cached build is not proof that an uncached build has every required input.
Common mistake
Copying the entire workspace before installation can invalidate expensive dependency work for every source edit.
Verify the behavior
Build clean, change source, then change the lockfile and inspect which steps rerun.
Interview exercise
Improve build time safely.
Answer and reasoning
Reorder independent inputs, retain deterministic dependencies and measure cache hits on a clean and incremental build.
Continue learning
Compare the scenario with the Docker interview questions and test your understanding with the Docker MCQs. For terminology and implementation details, consult the reference material.