PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Snowflake

Design a Cron Job Scheduler

Last updated: May 19, 2026

Quick Overview

This question evaluates a candidate's ability to design a scalable, distributed job scheduler, encompassing API and data model design, cron-style recurrence, pause/resume semantics, concurrency control, and fault-tolerant execution.

  • medium
  • Snowflake
  • System Design
  • Software Engineer

Design a Cron Job Scheduler

Company: Snowflake

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

Design a job scheduler service with effectively unlimited worker capacity. The system must support: - Recurring jobs defined by cron-style schedules - `pause(job_id)`: stop scheduling new runs for that job, but allow already running executions to finish - `resume(job_id)`: allow future scheduled runs to continue Describe the API design, data model, scheduler logic, execution flow, and how to make the system reliable under crashes or multiple scheduler instances.

Quick Answer: This question evaluates a candidate's ability to design a scalable, distributed job scheduler, encompassing API and data model design, cron-style recurrence, pause/resume semantics, concurrency control, and fault-tolerant execution.

Related Interview Questions

  • Design a REST API Abstraction Layer - Snowflake (hard)
  • Design a disk-backed KV store under contention - Snowflake (easy)
  • Design an ACL authorization checking service - Snowflake (hard)
  • Design an object store with deduplication - Snowflake (medium)
  • Design multi-core service startup scheduler - Snowflake (hard)
Snowflake logo
Snowflake
Apr 12, 2026, 12:00 AM
Software Engineer
Technical Screen
System Design
36
0

Design a job scheduler service with effectively unlimited worker capacity.

The system must support:

  • Recurring jobs defined by cron-style schedules
  • pause(job_id) : stop scheduling new runs for that job, but allow already running executions to finish
  • resume(job_id) : allow future scheduled runs to continue

Describe the API design, data model, scheduler logic, execution flow, and how to make the system reliable under crashes or multiple scheduler instances.

Solution

Show

Submit Your Answer

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Snowflake•More Software Engineer•Snowflake Software Engineer•Snowflake System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.