PracHub
QuestionsCoachesLearningGuidesInterview Prep
|Home/Software Engineering Fundamentals/Hippocratic Ai

Design an hourly call-agent scheduler

Last updated: Mar 29, 2026

Quick Overview

This question evaluates algorithmic scheduling, capacity planning, and time-windowed resource allocation skills, along with handling practical constraints such as average handle time, per-customer concurrency limits, CSV input parsing, and scalability.

  • medium
  • Hippocratic Ai
  • Software Engineering Fundamentals
  • Software Engineer

Design an hourly call-agent scheduler

Company: Hippocratic Ai

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Onsite

## Problem You are staffing AI calling agents for a **single day in Pacific Time (PT)**. Each customer must place a required number of outbound calls to their patients within an allowed time window during that day. Given a CSV of customer call requirements, build a scheduler that outputs **hour-by-hour agent needs**: - **Total agents needed each hour** (across all customers) - **Agents needed per customer each hour** Assume: - One agent can handle **at most one call at a time**. - Each call for a customer takes that customer’s **average handle time** (AHT) in minutes. - Calls can start at any time within the allowed window. - You may choose *when* within the allowed window to place calls (i.e., you can distribute the calls across the window) in order to minimize staffing. ### Input CSV (define and support this schema) Each row represents one customer’s requirements for the day: - `customer_id` (string) - `calls_required` (int) - `avg_handle_time_min` (float) - `window_start` (HH:MM, 24-hour, PT) - `window_end` (HH:MM, 24-hour, PT; may be later the same day; you may state how you handle an end earlier than start) - Optional: `max_concurrent_calls` (int; if present, you cannot schedule more than this many simultaneous calls for that customer) ### Output Produce an hour-by-hour report for hours **00:00–23:00 PT**. For each hour, output: - `hour_start` (e.g., `09:00`) - `agents_total` - `agents_by_customer` (mapping of `customer_id -> agents_needed_that_hour`) You must provide a **CLI demo** (required). A tiny UI (optional) can be added for bonus. ### Constraints / Expectations - Reasonable runtime for up to ~10,000 customers. - Clearly document assumptions and rounding rules (e.g., how partial-hour workload turns into integer agents). - Prefer a schedule that **minimizes peak agents** (or state a different objective and justify it).

Quick Answer: This question evaluates algorithmic scheduling, capacity planning, and time-windowed resource allocation skills, along with handling practical constraints such as average handle time, per-customer concurrency limits, CSV input parsing, and scalability.

|Home/Software Engineering Fundamentals/Hippocratic Ai

Design an hourly call-agent scheduler

Hippocratic Ai logo
Hippocratic Ai
Feb 1, 2026, 12:00 AM
mediumSoftware EngineerOnsiteSoftware Engineering Fundamentals
1
0
Loading...

Problem

You are staffing AI calling agents for a single day in Pacific Time (PT). Each customer must place a required number of outbound calls to their patients within an allowed time window during that day.

Given a CSV of customer call requirements, build a scheduler that outputs hour-by-hour agent needs:

  • Total agents needed each hour (across all customers)
  • Agents needed per customer each hour

Assume:

  • One agent can handle at most one call at a time .
  • Each call for a customer takes that customer’s average handle time (AHT) in minutes.
  • Calls can start at any time within the allowed window.
  • You may choose when within the allowed window to place calls (i.e., you can distribute the calls across the window) in order to minimize staffing.

Input CSV (define and support this schema)

Each row represents one customer’s requirements for the day:

  • customer_id (string)
  • calls_required (int)
  • avg_handle_time_min (float)
  • window_start (HH:MM, 24-hour, PT)
  • window_end (HH:MM, 24-hour, PT; may be later the same day; you may state how you handle an end earlier than start)
  • Optional: max_concurrent_calls (int; if present, you cannot schedule more than this many simultaneous calls for that customer)

Output

Produce an hour-by-hour report for hours 00:00–23:00 PT. For each hour, output:

  • hour_start (e.g., 09:00 )
  • agents_total
  • agents_by_customer (mapping of customer_id -> agents_needed_that_hour )

You must provide a CLI demo (required). A tiny UI (optional) can be added for bonus.

Constraints / Expectations

  • Reasonable runtime for up to ~10,000 customers.
  • Clearly document assumptions and rounding rules (e.g., how partial-hour workload turns into integer agents).
  • Prefer a schedule that minimizes peak agents (or state a different objective and justify it).
Loading comments...

Browse More Questions

More Software Engineering Fundamentals•More Hippocratic Ai•More Software Engineer•Hippocratic Ai Software Engineer•Hippocratic Ai Software Engineering Fundamentals•Software Engineer Software Engineering Fundamentals

Write your answer

Your first approved answer each day earns 20 XP.

Sign in to write your answer.
PracHub

Master your tech interviews with 8,000+ 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
  • AI Coding 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.