PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Nextdoor

Design a Scalable Job Scheduler

Last updated: Mar 29, 2026

Quick Overview

This question evaluates system design skills focused on job scheduling, distributed systems concerns (state modeling, retries, idempotency), API and data-model design, fault tolerance, observability, and scalability within the System Design domain.

  • medium
  • Nextdoor
  • System Design
  • Software Engineer

Design a Scalable Job Scheduler

Company: Nextdoor

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

Design a job scheduler for a small startup, then explain how you would evolve it to support roughly 100x more scheduled tasks. The system should: - Allow users or internal services to create one-time and recurring jobs. - Run jobs at the scheduled time with reasonable accuracy. - Support retries for failed jobs. - Support cancellation and rescheduling. - Track job states such as pending, dispatched, running, succeeded, and failed. - Provide basic observability for operators. Discuss: 1. API design and core data model. 2. How jobs are stored and selected for execution. 3. How workers execute jobs safely. 4. How to handle duplicate execution, retries, and idempotency. 5. Failure handling when the scheduler node or worker crashes. 6. How the initial design for a low-scale startup would work. 7. What architectural changes you would make to scale to 100x more jobs.

Quick Answer: This question evaluates system design skills focused on job scheduling, distributed systems concerns (state modeling, retries, idempotency), API and data-model design, fault tolerance, observability, and scalability within the System Design domain.

Related Interview Questions

  • Design tables for KPI dashboard - Nextdoor (hard)
  • Design KPI tables, retention, rollups, timezone - Nextdoor (hard)
  • Describe CAP, distributed systems, multithreading experience - Nextdoor (hard)
Nextdoor logo
Nextdoor
Mar 16, 2026, 12:00 AM
Software Engineer
Technical Screen
System Design
18
0

Design a job scheduler for a small startup, then explain how you would evolve it to support roughly 100x more scheduled tasks.

The system should:

  • Allow users or internal services to create one-time and recurring jobs.
  • Run jobs at the scheduled time with reasonable accuracy.
  • Support retries for failed jobs.
  • Support cancellation and rescheduling.
  • Track job states such as pending, dispatched, running, succeeded, and failed.
  • Provide basic observability for operators.

Discuss:

  1. API design and core data model.
  2. How jobs are stored and selected for execution.
  3. How workers execute jobs safely.
  4. How to handle duplicate execution, retries, and idempotency.
  5. Failure handling when the scheduler node or worker crashes.
  6. How the initial design for a low-scale startup would work.
  7. What architectural changes you would make to scale to 100x more jobs.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Nextdoor•More Software Engineer•Nextdoor Software Engineer•Nextdoor System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,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.