PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/Software Engineering Fundamentals/Bloomberg

Design an in-memory TODO list API

Last updated: Mar 29, 2026

Quick Overview

This question evaluates object-oriented design, API and data-modeling skills, including selection of in-memory data structures, performance considerations, and handling of edge cases such as missing ids and duplicates.

  • medium
  • Bloomberg
  • Software Engineering Fundamentals
  • Software Engineer

Design an in-memory TODO list API

Company: Bloomberg

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Technical Screen

### Object-Oriented Design: TODO List Design an in-memory TODO list component that supports the following operations: - `add(todo)` → returns an `id` - `delete(id)` → removes the entry if it exists - `get_todo(id)` → returns the TODO entry by id (or null/error if not found) - `get_all()` → returns all TODO entries You may assume there is a helper: - `check_todo(id) -> bool` which returns whether the entry has already been completed. **Clarify in your design:** - What fields a TODO has (e.g., title, description, created_at, completed flag) - Whether ordering matters in `get_all()` (insertion order? created time?) - Expected performance characteristics - How you handle missing ids and duplicates No UI is required; focus on clean API, data model, and internal data structures.

Quick Answer: This question evaluates object-oriented design, API and data-modeling skills, including selection of in-memory data structures, performance considerations, and handling of edge cases such as missing ids and duplicates.

Bloomberg logo
Bloomberg
Feb 12, 2026, 12:00 AM
Software Engineer
Technical Screen
Software Engineering Fundamentals
5
0
Loading...

Object-Oriented Design: TODO List

Design an in-memory TODO list component that supports the following operations:

  • add(todo) → returns an id
  • delete(id) → removes the entry if it exists
  • get_todo(id) → returns the TODO entry by id (or null/error if not found)
  • get_all() → returns all TODO entries

You may assume there is a helper:

  • check_todo(id) -> bool which returns whether the entry has already been completed.

Clarify in your design:

  • What fields a TODO has (e.g., title, description, created_at, completed flag)
  • Whether ordering matters in get_all() (insertion order? created time?)
  • Expected performance characteristics
  • How you handle missing ids and duplicates

No UI is required; focus on clean API, data model, and internal data structures.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More Software Engineering Fundamentals•More Bloomberg•More Software Engineer•Bloomberg Software Engineer•Bloomberg Software Engineering Fundamentals•Software Engineer Software Engineering Fundamentals
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.