Design a user activity tracking system for user on mobile.
MediumImagine you're building a user activity tracking system for a mobile application. The goal is to capture various user activities within the app (e.g., screen views, button clicks, purchases, search queries) and persist them for later analysis. This tracking system should be robust, efficient, and easy to extend with new activity types without requiring major code changes. We want to avoid sending redundant data and minimize battery drain while capturing useful user behavior.
This problem focuses on the core in-app tracking mechanism and its storage, not the backend infrastructure for receiving and processing the data. We assume a simplified persistence layer (e.g., in-memory, local file storage) for demonstration purposes.
Requirements
Interview Simulation
Experience a realistic interview conversation. The interviewer will ask clarifying questions,and you'll reveal your understanding of the requirements.
Let's start by understanding the scope. What are the core functionalities this system needs to provide?
💡 Interview Tip
Identify the Actors (Who uses the system?) and their Use Cases (What are they trying to achieve?). Start with the 'Happy Path' scenarios.