PracHub
QuestionsCoachesLearningGuidesInterview Prep
|Home/System Design/Microsoft

Design read-heavy org chart subordinate counts

Last updated: Mar 29, 2026

Quick Overview

Evaluates understanding of tree/graph data modeling, dynamic indexing, and consistency and concurrency control for maintaining aggregate subordinate counts under updates; Category/Domain: System Design.

  • medium
  • Microsoft
  • System Design
  • Software Engineer

Design read-heavy org chart subordinate counts

Company: Microsoft

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

You are given manager→direct-report relationships for an organization (an employee has at most one direct manager; the top-level employee has none). Build a data structure/service that supports: 1) **Query (read-heavy):** given an employee id, return how many total people are in their reporting chain below them (all direct and indirect reports). 2) **Update:** a relationship can change (e.g., employee X moves from manager A to manager B). After an update, future queries must return correct counts. Discuss the data model, algorithms, and how you would keep queries fast while handling updates safely (e.g., avoiding cycles).

Quick Answer: Evaluates understanding of tree/graph data modeling, dynamic indexing, and consistency and concurrency control for maintaining aggregate subordinate counts under updates; Category/Domain: System Design.

Related Interview Questions

  • Design a To-Do List Service (CRUD, Auth, Rate Limiting, Caching & API Versioning) - Microsoft (medium)
  • 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
|Home/System Design/Microsoft

Design read-heavy org chart subordinate counts

Microsoft logo
Microsoft
Feb 7, 2026, 12:00 AM
mediumSoftware EngineerOnsiteSystem Design
7
0

You are given manager→direct-report relationships for an organization (an employee has at most one direct manager; the top-level employee has none). Build a data structure/service that supports:

  1. Query (read-heavy): given an employee id, return how many total people are in their reporting chain below them (all direct and indirect reports).
  2. Update: a relationship can change (e.g., employee X moves from manager A to manager B). After an update, future queries must return correct counts.

Discuss the data model, algorithms, and how you would keep queries fast while handling updates safely (e.g., avoiding cycles).

Submit Your Answer to Earn 20XP

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

Your design canvas — auto-saved

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.