HubSpot logo

HubSpot Software Engineer System Design Questions

21 practice questions for HubSpot Software Engineer interviews

HubSpot software engineer interviews cover algorithms, data structures, system design, and coding problems drawn from real interview rounds.

Software Engineer Backend Engineer Frontend Engineer Full Stack Engineer Mobile Engineer Data Engineer Data Scientist ML Engineer DevOps Engineer DevOps Engineer Product Manager SRE Security Engineer Engineering Manager Data Analyst UX/UI Designer QA Engineer

No verified questions yet for HubSpot.

system design Medium api design #1

1. Task Management System — Implement a basic task manager

Background: HubSpot is known for its product management and marketing tools, and an effective task management system helps teams stay organized and track their progress efficiently.
Problem statement: Implement a class called TaskManager that allows users to manage tasks. Each task should have an ID, title, description, and a status. The TaskManager should allow adding, removing, and updating tasks, as well as retrieving all tasks in a specified status.
  • Function/class signature:

- def add_task(title: str, description: str) -> int:
- def remove_task(task_id: int) -> bool:
- def update_task(task_id: int, title: Optional[str] = None, description: Optional[str] = None, status: Optional[str] = None) -> bool:
- def get_tasks_by_status(status: str) -> List[Dict[str, Union[int, str]]]:
Example 1:
Input: tm = TaskManager()
tm.add_task("Write documentation", "Create user guides and API docs")
Output: 1
Explanation: A new task is added, and the method returns its ID, which is 1.
Example 2:
Input: tm.update_task(1, status="completed")
Output: True
Explanation: The status of the task with ID 1 is successfully updated to completed.
Constraints:
  • Task titles must be non-empty strings.

  • Task IDs must be unique integers starting from 1.

  • Status must be one of: ['pending', 'in_progress', 'completed'].

  • The maximum number of tasks is 1000.

  • Assume all inputs are valid without additional validations.

Related HubSpot Software Engineer interview prep

Start practicing HubSpot questions

Sign up for free to access walkthroughs, AI-generated questions, and more.

Get Started Free