Model data for an ads platform
Company: Netflix
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
Design a **data model** (logical schema) for an advertising platform.
Include core entities such as:
- Business/account (advertiser)
- Campaign and budget
- Ad group / line item (if applicable)
- Creative and assets
- Targeting (audiences, geo, device, etc.)
- User (or user identifiers) and privacy constraints
- Delivery logs: impressions, clicks, conversions
Explain:
- Key relationships (1:N, N:M) and how you represent them.
- How the schema supports the major flows:
1) **Intake/creation** flow (advertiser creates campaigns/creatives)
2) **Serving** flow (ad selection at request time)
3) **Tracking** flow (impression/click/conversion logging and attribution)
- Any indexing/partitioning choices you would make for scale and reporting.
Quick Answer: This question evaluates proficiency in data modeling and database schema design for advertising systems, including entity-relationship modeling, privacy-aware user identifier handling, and delivery/tracking log representation.