Katkat

Design a Scheduler and Metrics Platform

Palo Alto NetworksSoftware Engineer · Onsite

Last updated

This question evaluates a candidate's ability to design cloud-native distributed systems, covering job scheduling, lifecycle management, observability, persistence, resource-aware placement, retry semantics, and multi-tenant security for containerized workloads.

Design a cloud-native job scheduling and metrics monitoring platform for a Kubernetes-like environment.

The platform should allow internal users to submit containerized jobs, schedule them onto a pool of compute nodes, track job execution, retry failed jobs, and expose operational metrics for jobs and infrastructure.

Your design should cover:

  • Job submission and scheduling APIs
  • How jobs are represented and persisted
  • Scheduling decisions, including resource constraints such as CPU, memory, and node availability
  • Handling job failures, retries, cancellations, and timeouts
  • Metrics collection for job status, latency, resource usage, and node health
  • Alerting and dashboard support
  • Scalability, reliability, and fault tolerance
  • Security and multi-tenant isolation considerations