PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/Software Engineering Fundamentals/Netflix

Design demand-side ads relational tables

Last updated: Apr 25, 2026

Quick Overview

This question evaluates relational data modeling, normalization, key/foreign-key design, and the ability to represent hierarchical advertising entities and attribution join paths.

  • hard
  • Netflix
  • Software Engineering Fundamentals
  • Software Engineer

Design demand-side ads relational tables

Company: Netflix

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: hard

Interview Round: Onsite

You are designing the core relational data model for a demand-side advertising system. Create a normalized schema (tables + key columns + relationships) that supports: - **Advertiser** owns multiple **Campaigns**. - A campaign contains multiple **Ad Groups** (line items). - An ad group contains multiple **Ads/Creatives**. - Targeting settings (geo, device, audience), budgeting, start/end dates, pacing, and status (active/paused). - Reporting needs: join keys that make it easy to attribute an impression/click back to advertiser/campaign/ad group/ad. Explain: - Primary keys/foreign keys and cardinalities. - Which fields belong at campaign vs ad group vs ad. - How you would model targeting (as columns vs separate tables). - How you would handle versioning/audit (changes over time).

Quick Answer: This question evaluates relational data modeling, normalization, key/foreign-key design, and the ability to represent hierarchical advertising entities and attribution join paths.

Related Interview Questions

  • Model Direct-Sold DSP Orders - Netflix
  • Design a concurrent latency percentile tracker - Netflix (hard)
  • Explain concurrency and reliability tradeoffs - Netflix (hard)
  • Design a thread-safe key-value store - Netflix (medium)
Netflix logo
Netflix
Mar 9, 2026, 12:00 AM
Software Engineer
Onsite
Software Engineering Fundamentals
31
0

You are designing the core relational data model for a demand-side advertising system.

Create a normalized schema (tables + key columns + relationships) that supports:

  • Advertiser owns multiple Campaigns .
  • A campaign contains multiple Ad Groups (line items).
  • An ad group contains multiple Ads/Creatives .
  • Targeting settings (geo, device, audience), budgeting, start/end dates, pacing, and status (active/paused).
  • Reporting needs: join keys that make it easy to attribute an impression/click back to advertiser/campaign/ad group/ad.

Explain:

  • Primary keys/foreign keys and cardinalities.
  • Which fields belong at campaign vs ad group vs ad.
  • How you would model targeting (as columns vs separate tables).
  • How you would handle versioning/audit (changes over time).

Solution

Show

Submit Your Answer

Sign in to leave a comment

Loading comments...

Browse More Questions

More Software Engineering Fundamentals•More Netflix•More Software Engineer•Netflix Software Engineer•Netflix Software Engineering Fundamentals•Software Engineer Software Engineering Fundamentals
PracHub

Master your tech interviews with 8,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.