Technical PM: Endpoints and Data Model Behind a Shopping List App
Company: Google
Role: Product Manager
Category: System Design
Difficulty: medium
Interview Round: Other
In a technical product manager interview, you are asked to design the API and the data schema for a shopping list app. Describe the data the app stores and how the pieces relate, the endpoints its clients would call to create and manage lists, and the decisions you would make along the way, explained so that both engineers and product partners can follow them.
```hint Start from one shopping trip
List what a person does with the app, from planning a trip to checking off the last item in the store. The entities and endpoints fall out of those actions; then ask what breaks when two devices edit the same list.
```
### Clarifying Questions
- Is each list private to one person, or can several people share and edit the same list, and should one person's edits appear on the others' phones right away?
- Must the app keep working inside a store with no signal and sync later?
- Are items free text such as "milk", or linked to a product catalog with categories, prices or barcodes?
- Will only our own mobile and web clients call the API, or also outside partners such as voice assistants or retailers?
### What a Strong Answer Covers
- The core entities (users, lists, items, sharing or membership) with keys, relationships and the fields each product feature needs.
- A small, consistent set of endpoints with example requests and responses, authentication, per-list permission checks and error behavior.
- How concurrent edits and offline changes are reconciled: identifiers, versions, retries that do not duplicate items, and a stated conflict rule.
- Storage and modeling trade-offs, such as one document per list versus one row per item and how item order is stored, tied to their effect on users.
- Room for later features without building them now, plus the metrics you would watch after launch.
### Follow-up Questions
- One person deletes an item while another, offline, checks it off. What does each phone show after sync, and which part of your API decides that?
- A grocery retailer wants to add items to a user's list from its own app. What changes in authentication, permissions and the schema?
- Which API metrics would you put on a launch dashboard, and what would a spike in each one tell you?
Overview: A technical product manager question asking for the API and data schema behind a shopping list app. It tests modeling users, lists, items and sharing, designing clear endpoints with authentication and error handling, and reconciling concurrent edits and offline changes in a way that serves real shopping trips.