PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|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 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 7, 2026, 12:00 AM
Software Engineer
Onsite
System Design
5
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).

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.