Design a Shared Todo App
Company: Amplitude
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
Design an online application for sharing todo lists with other users. The interviewer asked for:
- the core product requirements and user flows,
- backend APIs for creating lists, sharing them, and managing todo items,
- a database schema for storing users, lists, permissions, and items,
- a way to support real-time updates so collaborators see changes quickly.
Quick Answer: This question evaluates system design skills such as API design, data modeling, access control, and real-time synchronization for collaborative applications.