← Netflix Interview Insights

Netflix·Software Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
Jun 2026

Summary

Netflix system design round focused entirely on ads infrastructure. One big open-ended question that kept branching into deeper territory the longer we talked.

Questions Asked (3)

Q1

Design the data model for an ads demand-intake system, walking through the full hierarchy from account down to impression events, including entities, attributes, and relationships.

Data ModelingSystem Design
Author's notes

I started at the impression level and worked upward, which in hindsight was the wrong call.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the scope and key requirements of the ads demand-intake system, such as the types of ads, targeting capabilities, and reporting needs. Then, design a hierarchical data model that captures the relationships from advertiser accounts down to individual impression events, ensuring scalability and performance. Finally, discuss how the model supports core use cases like campaign management, pacing, and analytics.

Pro tip: Emphasize the importance of denormalization and pre-aggregation for performance at Netflix scale, and discuss how you would handle late-arriving or duplicate events in the impression stream.

1. Clarify Requirements and Scope

Ask questions to understand the system's purpose, scale, and key features. Identify the main entities and the granularity of data needed.

2. Define Core Entities and Attributes

List the main entities (e.g., Account, Advertiser, Campaign, Ad Group, Creative, Targeting, Impression) and their key attributes, considering both business and technical needs.

3. Establish Relationships and Hierarchy

Define the relationships between entities, such as one-to-many from Account to Advertiser, and from Ad Group to Creative. Explain the hierarchy and how it supports data access patterns.

4. Address Scalability and Performance

Discuss how to handle high-volume impression events, including partitioning, indexing, and potential use of columnar stores or streaming pipelines.

5. Validate with Use Cases

Walk through how the model supports key use cases like campaign setup, ad serving, pacing, and reporting, ensuring all requirements are met.

Key Points to Mention

  • Hierarchical structure: Account → Advertiser → Campaign → Ad Group → Creative → Impression
  • Entity relationships and cardinality (one-to-many, many-to-many for targeting)
  • Attributes for each entity, including IDs, names, statuses, budgets, schedules, and targeting criteria
  • Handling of impression events: timestamp, user ID, ad ID, placement, cost, and event type
  • Scalability considerations: partitioning by date, using columnar storage for analytics, and streaming ingestion
  • Data integrity and consistency: handling late data, deduplication, and idempotency

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

How does your data model support targeting logic, specifically across geo, device type, audience segments, and frequency caps?

Data ModelingSystem DesignTechnical Trade-offs
Author's notes

Went with a separate targeting table keyed to the ad group, with a type-value structure for flexibility.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the scope: are you designing a data model for a targeting service that evaluates rules at request time, or for analytics? Then walk through how you'd represent each targeting dimension (geo, device, audience, frequency) in a flexible, scalable schema, and discuss trade-offs like normalization vs. denormalization, indexing, and caching. Finally, explain how the model supports efficient rule evaluation and updates.

Pro tip: Emphasize that frequency caps require a stateful, time-windowed counter, which is often the hardest part—discuss how you'd store and update these counters at scale (e.g., using Redis or a distributed counter service) while ensuring low latency and consistency.

1. Clarify requirements and constraints

Ask about scale (number of users, rules, updates per second), latency requirements, and whether targeting is evaluated in real-time or batch. This shows you think before designing.

2. Define the core entities and relationships

Identify entities like User, Device, Geo, AudienceSegment, Campaign, and TargetingRule. Describe how they relate (e.g., many-to-many between users and segments) and how you'd model these relationships.

3. Design the schema for targeting dimensions

Explain how you'd store geo (hierarchical or flat), device type (enum or reference table), audience segments (bitmaps, sets, or join tables), and frequency caps (counters with TTL). Discuss indexing strategies for fast lookups.

4. Address frequency capping and state management

Detail how you'd track and enforce frequency caps, including time windows (e.g., per day, per campaign), storage (e.g., Redis sorted sets), and how to handle distributed updates and consistency.

5. Discuss trade-offs and scalability

Compare approaches: normalized vs. denormalized, SQL vs. NoSQL, precomputed vs. on-the-fly evaluation. Explain how your choices affect performance, flexibility, and maintainability.

Key Points to Mention

  • Use of bitmap indexes or Roaring Bitmaps for efficient audience segment membership checks.
  • Hierarchical geo targeting (e.g., country > region > city) and how to model it (e.g., materialized paths or nested sets).
  • Device type as an enum or reference table, with considerations for extensibility (e.g., new device types).
  • Frequency capping with time-based counters (e.g., Redis sorted sets with timestamps) and TTL for automatic cleanup.
  • Caching strategies (e.g., CDN, in-memory cache) to reduce latency for frequent targeting evaluations.
  • Trade-offs between precomputing targeting rules (e.g., offline) and evaluating them at request time (e.g., real-time).

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

Walk through how your model handles bidding, including bid types, pacing, budget caps, and the difference between first-price and second-price auctions.

Data ModelingPricing & MonetizationTechnical Trade-offs
Author's notes

This is where the interview got genuinely hard.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the problem: explain that your model treats bidding as a constrained optimization problem where advertisers submit bids and the system allocates impressions while respecting budget and pacing constraints. Then walk through the key components: bid types, pacing algorithms, budget caps, and auction mechanics, highlighting trade-offs and how they interact. Finally, connect these to Netflix's ad-supported tier, emphasizing scalability, fairness, and user experience.

Pro tip: Emphasize that pacing and budget caps are not just constraints but also levers to improve long-term advertiser ROI and system stability—showing you think beyond immediate revenue. Also, mention that second-price auctions incentivize truthful bidding, but in practice, platforms often use modified versions to balance revenue and advertiser trust.

1. Define bid types and objectives

Explain the bid types your model supports (e.g., CPM, CPC, CPA) and how they map to advertiser goals. Clarify that bids represent the maximum willingness to pay for an outcome.

2. Describe pacing and budget caps

Detail how pacing smooths spend over time (e.g., probabilistic throttling, token buckets) and how budget caps prevent overspend. Mention daily vs. lifetime budgets and how pacing interacts with them.

3. Explain auction mechanics

Contrast first-price and second-price auctions: in first-price, the winner pays their bid; in second-price, they pay the second-highest bid plus a small increment. Discuss implications for bidding strategy and revenue.

4. Discuss trade-offs and system design

Highlight trade-offs: second-price auctions encourage truthful bidding but may reduce revenue; pacing can delay delivery but improves ROI. Explain how your model balances these via simulations or real-time feedback.

5. Connect to Netflix context

Relate the model to Netflix's ad tier: need for scalability, low latency, and user experience. Mention how you'd handle high-volume auctions and ensure fairness among advertisers.

Key Points to Mention

  • Bid types: CPM, CPC, CPA, and how they align with advertiser objectives.
  • Pacing algorithms: probabilistic throttling, token bucket, and their role in budget smoothing.
  • Budget caps: daily vs. lifetime, and how they prevent overspend while maximizing delivery.
  • First-price vs. second-price auctions: payment rules, incentive compatibility, and revenue impact.
  • Trade-offs: revenue vs. advertiser ROI, latency vs. accuracy, and fairness vs. efficiency.
  • Netflix-specific considerations: scale, real-time bidding, and integration with content recommendations.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.