Design an advertiser metrics tracking platform
Company: Amazon
Role: Machine Learning Engineer
Category: Software Engineering Fundamentals
Difficulty: medium
Interview Round: Technical Screen
Design the core object-oriented model and service interfaces for an advertising metrics tracking platform.
The platform is used by advertisers to track how their ads perform across campaigns. It should support recording ad events and querying common metrics.
Requirements:
- Advertisers can own multiple campaigns.
- Campaigns can contain multiple ads.
- The system receives events such as impressions, clicks, conversions, and spend updates.
- The system should compute metrics such as impressions, clicks, conversions, click-through rate, cost per click, conversion rate, and return on ad spend.
- Users should be able to query metrics by advertiser, campaign, ad, metric type, and time range.
- The design should be extensible so new event types and metrics can be added later.
Focus on object-oriented design: major classes, responsibilities, relationships, interfaces, and how metric computation should be organized.
Quick Answer: This question evaluates object-oriented design and domain modeling skills, focusing on defining major classes, responsibilities, relationships, and service interfaces for an advertiser metrics tracking platform in the Software Engineering Fundamentals domain for a Machine Learning Engineer role.