PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Expedia

Design an employee directory with reporting queries

Last updated: Apr 22, 2026

Quick Overview

This question evaluates system design competence with emphasis on hierarchical data modeling, concurrent data consistency, API and schema design, and efficient reporting-line queries within an employee management system.

  • hard
  • Expedia
  • System Design
  • Software Engineer

Design an employee directory with reporting queries

Company: Expedia

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

## Scenario Design an internal **employee management system**. ## Functional requirements - CRUD for employees: - Create/update employee profile (name, title, department, manager) - Deactivate/terminate employees - Support org-structure queries: - Get an employee’s **manager** - Get an employee’s **direct reports** - Get an employee’s **full reporting chain** (up to CEO) - Get an employee’s **full subtree** (all indirect reports) ## Non-functional requirements / discussion points - High concurrency (many reads/writes), correctness under concurrent updates. - Locking and consistency (avoid cycles, avoid lost updates). - API design (endpoints, payloads, versioning). - Data storage choices and schema design. Explain your design and trade-offs, including how you would implement efficient reporting-line queries.

Quick Answer: This question evaluates system design competence with emphasis on hierarchical data modeling, concurrent data consistency, API and schema design, and efficient reporting-line queries within an employee management system.

Related Interview Questions

  • Design a natural-disaster notification system - Expedia (hard)
  • Design a listing connectivity ingestion service - Expedia (hard)
Expedia logo
Expedia
Jan 6, 2026, 12:00 AM
Software Engineer
Onsite
System Design
2
0
Loading...

Scenario

Design an internal employee management system.

Functional requirements

  • CRUD for employees:
    • Create/update employee profile (name, title, department, manager)
    • Deactivate/terminate employees
  • Support org-structure queries:
    • Get an employee’s manager
    • Get an employee’s direct reports
    • Get an employee’s full reporting chain (up to CEO)
    • Get an employee’s full subtree (all indirect reports)

Non-functional requirements / discussion points

  • High concurrency (many reads/writes), correctness under concurrent updates.
  • Locking and consistency (avoid cycles, avoid lost updates).
  • API design (endpoints, payloads, versioning).
  • Data storage choices and schema design.

Explain your design and trade-offs, including how you would implement efficient reporting-line queries.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Expedia•More Software Engineer•Expedia Software Engineer•Expedia System Design•Software Engineer System Design
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
  • Compare Platforms
  • Discord Community

Support

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

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.