Design Ads system for a website.
MediumImagine you're tasked with building an advertising system for a website, a fundamental component of many online platforms. This isn't just about displaying ads; it's about creating a flexible, maintainable, and efficient system that can adapt to various ad formats, targeting strategies, and evolving business needs. This system needs to handle ad requests, select appropriate ads based on various criteria (user demographics, page content, time of day, etc.), and track ad impressions and clicks. A simple, monolithic approach will quickly become unwieldy as the features and complexity increase. We need a robust object-oriented design to build this system.
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.