PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/Software Engineering Fundamentals/Notion

Design a Todo List Object Model

Last updated: Jun 5, 2026

Quick Overview

This question evaluates object-oriented design and API modeling skills, focusing on domain modeling, class responsibilities, encapsulation, and designing for extensibility and maintainability.

  • medium
  • Notion
  • Software Engineering Fundamentals
  • Software Engineer

Design a Todo List Object Model

Company: Notion

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Onsite

Design the object-oriented model for a todo list application. The product should allow a user to create multiple todo lists or projects, create tasks, update task fields, mark tasks complete or incomplete, delete tasks, set due dates, assign priorities, add tags, and filter or sort tasks by status, due date, priority, and tag. Describe the main classes, their responsibilities, the public APIs you would expose, and how you would keep the design extensible for features such as reminders, recurring tasks, and collaboration.

Quick Answer: This question evaluates object-oriented design and API modeling skills, focusing on domain modeling, class responsibilities, encapsulation, and designing for extensibility and maintainability.

Notion logo
Notion
Jun 1, 2026, 12:00 AM
Software Engineer
Onsite
Software Engineering Fundamentals
2
0

Design the object-oriented model for a todo list application. The product should allow a user to create multiple todo lists or projects, create tasks, update task fields, mark tasks complete or incomplete, delete tasks, set due dates, assign priorities, add tags, and filter or sort tasks by status, due date, priority, and tag. Describe the main classes, their responsibilities, the public APIs you would expose, and how you would keep the design extensible for features such as reminders, recurring tasks, and collaboration.

Solution

Show

Submit Your Answer

Sign in to leave a comment

Loading comments...

Browse More Questions

More Software Engineering Fundamentals•More Notion•More Software Engineer•Notion Software Engineer•Notion Software Engineering Fundamentals•Software Engineer Software Engineering Fundamentals
PracHub

Master your tech interviews with 8,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.