Skip to content
RED SAGSkills
hardDevOps Engineer interview question

Design CI/CD for a monorepo with 60 services and 200 engineers where full builds take over an hour.

What the interviewer wants to hear

  • Build only what changed using a dependency graph of affected targets
  • Remote caching and remote execution with tools like Bazel, Nx or Turborepo
  • Parallelize on autoscaled ephemeral runners
  • One aggregate required check per PR; merge queue for main
  • Independent deploys per service with ownership via CODEOWNERS
  • Measure pipeline time and flakiness and fix flaky tests

Model answer

The core idea is to never build the whole repo for a normal change. I would adopt a build tool that understands the dependency graph, such as Bazel, Nx, Turborepo or Pants, so CI computes the affected targets from the diff and only builds and tests those and their dependants. A shared remote cache means unchanged targets are fetched instead of rebuilt, across CI and developer laptops. Work runs in parallel on autoscaled ephemeral runners. For merging, branch protection requires one aggregate status check, so path-skipped jobs never block a PR, and a merge queue tests changes against the latest main to keep it green. Each service still deploys independently: merging to main builds its image, and GitOps promotes it per environment, with CODEOWNERS routing reviews. I would track p50 and p95 pipeline time, cache hit rate and flaky test rate on a dashboard, quarantine flaky tests quickly, and run a full build nightly as a safety net.

Can you answer it under time pressure?

Take a timed hard round and get scored on every answer.

Start mock interview

More hard DevOps Engineer questions