PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Microsoft

Design a job scheduler ETL pipeline system

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a candidate's ability to architect scalable, reliable job scheduling and ETL orchestration systems, testing competencies in distributed systems, scheduling, fault tolerance, observability, multi-tenancy, and operational metadata management.

  • hard
  • Microsoft
  • System Design
  • Software Engineer

Design a job scheduler ETL pipeline system

Company: Microsoft

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

## System Design Prompt Design a **Job Scheduler + ETL pipeline** system. The system should allow users (or internal services) to: - Define ETL jobs (extract → transform → load) - Schedule jobs (cron / fixed interval / one-off) - Run jobs on a fleet of workers - Track job/run status and logs - Support retries and failure handling ### Requirements 1. **Job definition**: store metadata (owner, schedule, source/sink, parameters, code/artifact location). 2. **Scheduling**: trigger runs on time; avoid duplicate runs. 3. **Execution**: dispatch runs to workers; support horizontal scaling. 4. **Reliability**: - at-least-once execution with dedup where needed - retries with backoff - handle worker crashes mid-run 5. **Observability**: job/run status, logs, metrics, alerting. 6. **Multi-tenancy** (basic): isolate teams with quotas/limits. ### Discussion points Explain key components (API, scheduler, queue, workers, metadata DB), data model, scaling strategy, and how you’d use/load-balance caches/queues. Call out major tradeoffs (exactly-once vs at-least-once, latency vs throughput).

Quick Answer: This question evaluates a candidate's ability to architect scalable, reliable job scheduling and ETL orchestration systems, testing competencies in distributed systems, scheduling, fault tolerance, observability, multi-tenancy, and operational metadata management.

Related Interview Questions

  • Design A Scalable Web Crawler - Microsoft (medium)
  • Design User Re-engagement Notifications - Microsoft (medium)
  • Design a typeahead search service - Microsoft (hard)
  • Design a Secure Copilot API - Microsoft
  • Design a URL Shortener - Microsoft (hard)
Microsoft logo
Microsoft
Feb 11, 2026, 12:00 AM
Software Engineer
Onsite
System Design
3
0
Loading...

System Design Prompt

Design a Job Scheduler + ETL pipeline system.

The system should allow users (or internal services) to:

  • Define ETL jobs (extract → transform → load)
  • Schedule jobs (cron / fixed interval / one-off)
  • Run jobs on a fleet of workers
  • Track job/run status and logs
  • Support retries and failure handling

Requirements

  1. Job definition : store metadata (owner, schedule, source/sink, parameters, code/artifact location).
  2. Scheduling : trigger runs on time; avoid duplicate runs.
  3. Execution : dispatch runs to workers; support horizontal scaling.
  4. Reliability :
    • at-least-once execution with dedup where needed
    • retries with backoff
    • handle worker crashes mid-run
  5. Observability : job/run status, logs, metrics, alerting.
  6. Multi-tenancy (basic): isolate teams with quotas/limits.

Discussion points

Explain key components (API, scheduler, queue, workers, metadata DB), data model, scaling strategy, and how you’d use/load-balance caches/queues. Call out major tradeoffs (exactly-once vs at-least-once, latency vs throughput).

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Microsoft•More Software Engineer•Microsoft Software Engineer•Microsoft 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.