← Amazon Interview Insights

Amazon·Technical Product Manager·Onsite - System Design / Architecture·Senior

Senior
Jun 2026

Summary

TPM system design round at Amazon, single question about building a listening history pipeline. Pretty focused session, no behavioral stuff at all.

Questions Asked (1)

Q1

Design an application that tracks a user's song listening history, but only logs a play after the user has listened for more than 30 seconds. The data is intended for analytics purposes.

System DesignProduct Analytics & MetricsTechnical Trade-offs
Author's notes

The 30-second threshold is where I spent most of my time and I think that was the right call.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the business goal and key metrics, then propose a high-level architecture that captures play events and filters them based on a 30-second threshold. Discuss trade-offs between client-side and server-side filtering, data storage, and analytics processing, and conclude with how you would measure success and iterate.

Pro tip: Emphasize the importance of defining what constitutes a 'play' (e.g., 30 seconds of actual listening vs. wall-clock time) and how you would handle edge cases like skipping, pausing, or background listening. This shows attention to detail and user experience.

1. Clarify Requirements and Metrics

Ask questions to understand the purpose: What analytics questions will this data answer? What defines a 'play'? What are the latency and accuracy requirements? Identify key metrics like total plays, unique listeners, and skip rate.

2. High-Level Architecture

Propose a system that captures playback events from clients, processes them to determine if the 30-second threshold is met, and stores the qualified plays for analytics. Consider using a streaming pipeline (e.g., Kinesis) and a data warehouse (e.g., Redshift) for analysis.

3. Design Trade-offs

Discuss where to enforce the 30-second rule: client-side (simpler, but can be gamed) vs. server-side (more reliable, but requires more infrastructure). Consider trade-offs in cost, scalability, and data accuracy.

4. Data Model and Storage

Define the schema for play events (user ID, song ID, timestamp, duration listened). Choose appropriate storage: e.g., a NoSQL database for raw events and a columnar store for analytics. Plan for partitioning and retention.

5. Analytics and Iteration

Describe how the data will be queried for insights (e.g., popular songs, listening trends). Suggest A/B testing or monitoring to validate the 30-second threshold and adjust based on business needs.

Key Points to Mention

  • Definition of a 'play': 30 seconds of actual listening vs. wall-clock time, handling pauses and skips.
  • Client-side vs. server-side filtering: trade-offs in reliability, cost, and complexity.
  • Scalability: handling high throughput of events (e.g., millions of users) with streaming and batch processing.
  • Data storage: choice of databases (e.g., DynamoDB for raw events, Redshift for analytics) and schema design.
  • Analytics use cases: how the data will be used (e.g., trending songs, user engagement) and required aggregations.
  • Privacy and compliance: ensuring user data is handled securely and in compliance with regulations (e.g., GDPR).

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.