Lesson 15 · Senior containers & local dev

Mock senior containers/local-dev interview pack

A retrieval-first practice pack for turning the whole containers/local-dev course into answers you can say cleanly under pressure.

Your win: run a realistic senior containers/local-dev mock interview on yourself, score the answers honestly, and turn weak spots into a concrete revision plan.

In plain English Plain English: answer out loud before checking the answer points. The goal is retrieval and structure, not passive rereading.

How to get the most out of this page

This page works best if you treat it like a real interview. Answer first. Then check the points. Then answer again more cleanly.

The trap is to read the answer points and feel fluent. Don’t do that. The value comes from trying to retrieve the answer before you look.

The answer checklist A strong answer should usually include: (1) the mental model, (2) the key trade-off, and (3) a real repo-grounded consequence or example. If one of those three pieces is missing, the answer usually sounds thinner than you think.

Round 1 · Core container foundations

These questions test whether the container basics really belong to you, not just whether they still look familiar on the page.

  1. What is a container, and how is it different from a VM?
  2. What is the difference between an image and a container?
  3. Why does layer order matter in a Dockerfile?
  4. What is a multi-stage build for?
  5. What is the difference between a named volume and a bind mount?
Round 1 · Strong answer points
  1. Container vs VM. A container is an isolated process sharing the host kernel via namespaces and cgroups; a VM has its own guest OS and kernel through a hypervisor.
  2. Image vs container. An image is the read-only template; a container is a running instance with a writable layer on top.
  3. Layer order. Docker caches top-down, so a changed early layer invalidates later ones and slows rebuilds.
  4. Multi-stage build. Build with heavy tooling, ship only the runtime artifacts you need.
  5. Named vs bind. Named volumes are Docker-managed persistent data; bind mounts are host paths, usually for config or editable code.

Round 2 · Workflow design and trade-offs

This is where the mock becomes more senior. The question is not only what the tool does, but why the workflow is shaped this way.

  1. Why does this repo use one image for many backend services?
  2. Why not rebuild the image on every code change?
  3. What problem does wait-for-it-service solve?
  4. When is Compose the better local stack?
  5. When is kind+Skaffold the better local stack?
  6. What makes a good readiness signal?
Round 2 · Strong answer points
  1. One image, many services. The repo compiles one build/server binary and selects behavior with command args and mounted config, which keeps the image strategy simpler.
  2. No rebuild every edit. Normal service edits often only change the binary, so host-compile plus docker cp gives much faster feedback than full image rebuilds.
  3. wait-for-it-service. It prevents application services from racing ahead before DB and other key infra are actually ready.
  4. Compose better. Use it for day-to-day service work when the question is mainly process behavior and dependency wiring.
  5. kind better. Use it when Kubernetes, rendered manifests, or cluster-level behavior is part of what you are validating.
  6. Good readiness signal. It should represent a real usable state, not just a process that happens to be alive.

Round 3 · Repo-grounded local-stack reasoning

This round is what turns the mock from generic Docker knowledge into repo-specific engineering judgment.

  1. What are the important stages in Dockerfile.development, and why do they exist?
  2. Why does run.bash hot-swap the binary?
  3. What is the relationship between the compose stack and sk.bash -- render?
  4. How would you debug a service that still behaves like old code after a local restart?
  5. What is the practical difference between -m debug and the normal path?
  6. How would you explain this course’s local-dev model honestly in a senior interview?
Round 3 · Strong answer points
  1. Dockerfile stages. no-op supports modd-based hot-swap, developer is the normal runtime image, and developer-debug adds Delve for debug sessions.
  2. Hot-swap. It keeps the inner loop fast by replacing only the binary layer of reality that changed during normal service development.
  3. Compose + render relationship. run.bash shells out to sk.bash -- render, so the compose configs are rendered from the Helm/Skaffold side rather than maintained as separate truth.
  4. Old-code debug path. Check whether the binary was rebuilt, whether docker cp landed in the right container, and whether the reload or restart path actually picked it up.
  5. -m debug. It starts the service under Delve on port 40000 rather than the normal hot-swap-only execution path.
  6. Senior explanation. Describe the local model as a pragmatic two-stack workflow: fast Compose for inner-loop service work, kind+Skaffold for higher-fidelity cluster behavior, with shared configuration truth and hot-swap optimization.

Self-scoring rubric

ScoreMeaning
0I could not explain it without notes.
1I gave fragments, but the answer was incomplete or fuzzy.
2I explained the main idea, but missed the trade-off or repo-grounded consequence.
3I gave a strong, clear answer with model + trade-off + repo consequence.
Recovery map — where to go next Missed container basics? Revisit Lessons 1–4. Missed repo local-stack structure? Revisit Lessons 5–8. Missed workflow and debugging judgment? Revisit Lessons 9–13. The point is not to reread the whole course; it is to go back to the exact weak seam.

Q1. The main rule of this mock pack is…

Retrieval first is what turns recognition into durable interview recall.
What are the three ingredients of a strong senior containers/local-dev answer?
recall, then click to reveal
A clear mental model, the important trade-off, and a repo-grounded consequence or example.
If you want, I can now run this as a live mock senior containers/local-dev interview and grade you answer by answer. Ask me.

Sources. This pack synthesizes the whole course into retrieval practice.