PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCareers
|Home/Coding & Algorithms/Bloomberg

Implement classes in existing abstract hierarchy

Last updated: Mar 29, 2026

Quick Overview

This question evaluates object-oriented design and implementation skills in Python within the Coding & Algorithms and software engineering domain, focusing on completing concrete subclasses in an existing abstract class hierarchy while preserving public interfaces and type compatibility.

  • Medium
  • Bloomberg
  • Coding & Algorithms
  • Software Engineer

Implement classes in existing abstract hierarchy

Company: Bloomberg

Role: Software Engineer

Category: Coding & Algorithms

Difficulty: Medium

Interview Round: Technical Screen

You are given an existing Python codebase that defines multiple classes, including abstract base classes using abc.ABC and @abstractmethod decorators. Without modifying public interfaces or abstract base classes, implement the missing logic in the concrete subclasses so that the system works end-to-end. Constraints: 1) Honor the Liskov Substitution Principle; any place expecting a base type must work with your concrete types. 2) Do not change method signatures, inheritance, or module-level APIs; implement only TODOs in concrete classes. 3) Clearly separate responsibilities (e.g., parsing, validation, and execution) using composition where appropriate. 4) Ensure correct handling of edge cases and error propagation as indicated by docstrings and type hints. 5) Provide unit tests that demonstrate the behavior of each implemented class and key interactions. 6) Briefly explain how you navigated a large (≈200 lines) skeleton with abstract methods to identify implementation points and avoid confusion.

Quick Answer: This question evaluates object-oriented design and implementation skills in Python within the Coding & Algorithms and software engineering domain, focusing on completing concrete subclasses in an existing abstract class hierarchy while preserving public interfaces and type compatibility.

Related Interview Questions

  • Solve meeting and tree problems - Bloomberg (easy)
  • Minimize travel cost with two cities - Bloomberg (easy)
  • Check connectivity between two subway stations - Bloomberg (easy)
  • Design a data structure for dynamic top‑K frequency - Bloomberg (hard)
  • Find tree root and bucket numbers - Bloomberg (hard)
Bloomberg logo
Bloomberg
Jul 26, 2025, 12:00 AM
Software Engineer
Technical Screen
Coding & Algorithms
3
0

You are given an existing Python codebase that defines multiple classes, including abstract base classes using abc.ABC and @abstractmethod decorators. Without modifying public interfaces or abstract base classes, implement the missing logic in the concrete subclasses so that the system works end-to-end. Constraints:

  1. Honor the Liskov Substitution Principle; any place expecting a base type must work with your concrete types.
  2. Do not change method signatures, inheritance, or module-level APIs; implement only TODOs in concrete classes.
  3. Clearly separate responsibilities (e.g., parsing, validation, and execution) using composition where appropriate.
  4. Ensure correct handling of edge cases and error propagation as indicated by docstrings and type hints.
  5. Provide unit tests that demonstrate the behavior of each implemented class and key interactions.
  6. Briefly explain how you navigated a large (≈200 lines) skeleton with abstract methods to identify implementation points and avoid confusion.

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More Coding & Algorithms•More Bloomberg•More Software Engineer•Bloomberg Software Engineer•Bloomberg Coding & Algorithms•Software Engineer Coding & Algorithms
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • Careers
  • 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.