Reported interview periodNov 2025–Jun 2026
Design Multi-Tenant CI/CD Workflows
Design a shared workflow service where many teams submit pipelines composed of dependent jobs. Jobs should advance only after prerequisites succeed, survive worker crashes, and remain isolated across tenants.
Practice focusRequirements - Define APIs for submitting, cancelling, retrying, and inspecting runs, plus a pipeline DAG representation. - Separate logical jobs from attempts and make dispatch idempotent. - Use leases and heartbeats so abandoned attempts can be retried safely. - Enforce tenant quotas, secrets isolation, sandboxing, and fair scheduling. - Cache reusable artifacts without allowing cross-tenant data leakage. - Stream status to the UI while preserving a durable event history. - State scale, consistency, and retention assumptions.…