Design a CI Job Scheduler
Published 3 October 2026
Round 3 — System Design: CI Job Scheduler¶
The system design interview asked me to design a job scheduler for a continuous-integration system. The core scheduling portion felt reasonably comfortable, but the interviewer added several CI-specific follow-ups that required deeper domain knowledge.
Build Output¶
One question asked how stdout or other live build output from running CI jobs should be surfaced to users in the UI.
Repository Integration¶
We also discussed how source-control changes should trigger CI work, including different integration models between a Git hosting provider and the CI platform. This became a fairly detailed discussion about push-triggered events versus CI-side polling or pull-based discovery. The CI-specific parts of this round were more difficult for me than the generic scheduler design.