FreeExam
A closed notebook, a blank card, and a pencil on a wooden desk.

Delivery

50 cards

Shipping a change in order, with a migration and a rollback that still boots.

Card 1 of 50

Front. Expand-contract. Why expand a schema before you contract it?

These cards are original study material. They are not questions from a named employer or a live hiring loop.

All 50 cards in this deck

  1. 1.Expand-contract

    Why expand a schema before you contract it?

    Old and new processes run at the same time. The new column is added and filled before any process depends on it, and the old column is dropped only after none do.

  2. 2.Same-step

    Why not rename a column and deploy in one step?

    Pods still on the old image write the old name while new pods read the new one. One of those versions fails until the rollout finishes.

  3. 3.Both-shapes

    What must a migration leave behind for one release?

    A shape both the old and the new process can read and write. Dropping the old column in that same change strands the old process.

  4. 4.Max-surge

    What does a high maxSurge do?

    It starts many new pods before the old ones stop. Each opens its own database pool, and together they can exhaust the database.

  5. 5.Pool-math

    What do you multiply before a rollout?

    Connections per pod times the highest pod count during the surge. That number has to fit under the database limit.

  6. 6.Shared-cache

    What is a cache-key compatibility bug?

    New pods write a value under a key old pods also read, in a shape the old pods do not understand. They then serve or store nonsense.

  7. 7.Artifact

    What has to exist before the HTML points at it?

    The static file the page references. Shipping the HTML first sends users to a URL that 404s.

  8. 8.Immutable

    What is an immutable artifact?

    A build identified by its content, never edited in place. A rollback points at the previous artifact instead of rebuilding hope.

  9. 9.Rollback-boot

    What does a rollback have to do besides retag?

    The previous process must start against the data that exists now. A migration it cannot read makes the rollback crash-loop.

  10. 10.Canary

    What is a canary in a deploy?

    A small share of real traffic on the new version, watched before the rest moves. One pod of two hundred is a weak sample.

  11. 11.Noisy

    Why can a single canary pod lie?

    Its node may be slow for reasons the version did not cause. Compare it with another pod on a healthy node, or use more than one.

  12. 12.Readiness

    What should a readiness check prove?

    That this pod can serve the real request, including the dependency the release could have broken. A check that skips auth will pass a broken auth release.

  13. 13.Liveness

    How does a liveness check differ?

    It says the process should be restarted. A check that fails whenever a dependency is down will restart every pod and make the outage worse.

  14. 14.Probe-path

    Why must the probe use the real path?

    A side path that skips the new middleware stays green while every user request fails the middleware.

  15. 15.Order

    What is a safe order for app and database?

    Apply the compatible migration first, then the app that uses it, then the cleanup migration after the old app is gone.

  16. 16.Backward

    What is a backward-compatible release?

    Old callers and old data still work. The new process tolerates a missing new column. The old process tolerates an extra one.

  17. 17.Forward

    What is forward compatibility here?

    The old process keeps working after the new data shape appears. Without it, you cannot migrate before every pod is new.

  18. 18.Flag

    Where do you put a risky behavior?

    Behind a flag that is off at boot, so the binary can ship and the behavior can wait. A flag defaulted on is just a deploy.

  19. 19.Flag-data

    What is a flag that changes a write?

    A split brain: flagged pods write a new shape, unflagged pods do not. The data rules have to accept both until the flag is done.

  20. 20.Progressive

    What is a progressive delivery?

    Traffic shifts in steps, and a failed step stops the shift. It is a canary with an automatic halt.

  21. 21.Bake

    What is bake time?

    How long you watch a step before raising traffic. A step of one minute hides an error that shows up on the hour.

  22. 22.Metric-gate

    What does a deploy gate compare?

    The new version's errors and latency against the old one, on the same route. A global 200 rate can stay green while the new route is broken.

  23. 23.Rollback-auto

    When should a gate roll back on its own?

    When the comparison crosses a line you set before the deploy. A gate that only pages leaves the bad version in place.

  24. 24.Secret

    How does a secret reach a process?

    Injected at runtime from a store, not baked into the image. An image in a registry is a copy of everything you put in it.

  25. 25.Config-drift

    What is config drift?

    What is running differs from what the repo says. The next deploy then 'fixes' or overwrites a live change nobody wrote down.

  26. 26.Gitops

    What does GitOps treat as the source of truth?

    The declared state in version control. A change made only on the cluster will be reverted, or it will hide until the next apply.

  27. 27.Pipeline

    What belongs in the path to production?

    Build, test, a stored artifact, and a deploy of that artifact. Rebuilding during the deploy means you shipped something you did not test.

  28. 28.Repro

    Why pin dependency versions?

    So today's build matches yesterday's. An unpinned install can pull a new library between the test run and the release.

  29. 29.Sbom

    What is a software bill of materials?

    The list of components in the artifact. It is how you find which running services contain a library you must patch.

  30. 30.Migrate-job

    Why run a migration as its own step?

    So a failed migration stops the deploy before new code starts, and so the migration is not raced by every new pod.

  31. 31.Lock-mig

    What is the risk of a locking migration?

    It blocks writes on a hot table for the length of the rewrite. Expand in a way that does not lock, or do it when the lock is survivable.

  32. 32.Backfill-pace

    How do you backfill during a deploy?

    In batches, off the request path, at a rate the database can spare. One transaction for the whole table is an outage.

  33. 33.Job-restart

    A killed job restarts from zero. What was missing?

    A checkpoint of what it has already finished, and writes that are safe to repeat.

  34. 34.Static-first

    What is the failure when HTML ships before assets?

    The browser requests a hashed file that is not in the bucket yet. Upload the file, then the HTML that names it.

  35. 35.Cache-asset

    Why can a hashed asset be cached for a year?

    The name changes when the bytes change. The HTML, which names it, must stay fresh.

  36. 36.Cdn-purge

    When do you purge a CDN?

    When a URL's bytes changed but the URL did not. A hashed name does not need a purge. The HTML might.

  37. 37.Blue-green

    What is a blue-green deploy?

    The new stack is stood up beside the old one, and traffic switches when the new stack is ready. The old stack is the rollback.

  38. 38.Rolling

    What is a rolling deploy?

    Pods are replaced a few at a time. Old and new run together, so they must tolerate each other's data.

  39. 39.Recreate

    When is recreate acceptable?

    When you can take the downtime of stopping every pod before starting the new ones. It avoids mixed versions and causes an outage.

  40. 40.Drain

    What is draining a pod?

    It stops receiving new requests and finishes the ones it has, then exits. Killing it skips the finish.

  41. 41.Prestop

    What is a preStop hook for?

    A moment to start failing health and finish work before the process is killed, so the load balancer has stopped sending traffic.

  42. 42.Pdb

    What is a pod disruption budget?

    The minimum number of pods that must stay up during a voluntary disruption, so a node upgrade does not take the service with it.

  43. 43.Hpa

    What does a horizontal autoscaler add during a deploy?

    More pods if the surge looks like load. Combined with maxSurge, the pod count can jump past what you sized the database for.

  44. 44.Env-parity

    Why does staging miss production bugs?

    The data size, the traffic, and the integrations differ. A canary on production traffic sees what staging cannot.

  45. 45.Smoke

    What is a smoke check after deploy?

    A few real requests against the new version's core path, failing the rollout if they fail. It is not the full test suite.

  46. 46.Changelog

    What does an operator need in the release notes?

    The migrations, the flags, and the rollback limit. A list of commit subjects does not say whether they can roll back.

  47. 47.Freeze

    What is a deploy freeze?

    A window where production deploys stop, with a named end and a named exception path. It does not fix a pipeline. It avoids a known risky hour.

  48. 48.Owner-pipe

    Who can roll a service back?

    Someone on the rotation, with the right, and a written step. A pipeline only one person can operate waits for that person.

  49. 49.Audit

    Why log who deployed what?

    The next incident starts with which artifact went out and when. A cluster with no history makes that a guess.

  50. 50.Compat-test

    What do you run before a mixed-version rollout?

    The new code against the old schema, and the old code against the new schema. The green unit tests never saw that mix.