Skip to content

ONE QUESTION. YOUR REASONING.

Design a job scheduler

Design a job scheduler: people schedule jobs to run now, at a future time or on a recurring schedule, and check each job’s status.

System designInfrastructure and platformSenior

YOUR BRIEF

What to work through

Work through a job scheduler as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.

  • Schedule a job to run now, at a future time, or on a recurring schedule such as every day at 10:00
  • See the status of each job and its runs
  • Retry failed runs
  • Priorities, and jobs that depend on other jobs

BEFORE YOU START

Constraints to discuss

  • Runs start within 2 seconds of their scheduled time
  • 10,000 job runs a second
  • Every run happens at least once
  • One tenant’s flood of jobs cannot starve the others
Need a starting point?

Watch for these common gaps as you prepare:

  • Cron on a single machine, a single point of failure
  • Polling the whole jobs table every second
  • No lease, so a dead worker’s job is lost
  • Retrying tasks that are not idempotent
  • No plan for runs missed during an outage
Read: System design questions and who asks them

Why this question is in the collection

These sources connect the problem to company interview reports or preparation guides. They do not guarantee what a company will ask you.

KEEP GOING

Your next question

Storage, files and linksDesign BitlyInfrastructure and platformDesign a rate limiterInfrastructure and platformDesign an A/B testing platformInfrastructure and platformDesign an ad click aggregator
Browse the collection
01

Pick a question

Read the brief and choose what you want to work on.

02

Talk it through

Explain your thinking. Respond to follow-ups. Draw when a design needs it.

03

Find your next improvement

Use the feedback from your interview to decide what to practise next.