PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Meta

Design tables for event-driven metrics

Last updated: Mar 29, 2026

Quick Overview

This question evaluates relational data modeling and data engineering competencies for high-volume event analytics, including schema design, partitioning and clustering strategies, duplicate and late-arriving event handling, and normalization versus denormalization trade-offs.

  • hard
  • Meta
  • System Design
  • Data Engineer

Design tables for event-driven metrics

Company: Meta

Role: Data Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

Design a relational schema to store user events for a consumer app so that the metrics above can be computed efficiently. Provide table definitions with columns and data types, primary/foreign keys, partitioning and indexing strategy, and sample rows. Explain normalization versus denormalization choices, how to handle late-arriving or duplicated events, and how to support backfills and incremental fact tables.

Quick Answer: This question evaluates relational data modeling and data engineering competencies for high-volume event analytics, including schema design, partitioning and clustering strategies, duplicate and late-arriving event handling, and normalization versus denormalization trade-offs.

Related Interview Questions

  • Design an Online Game Leaderboard - Meta (hard)
  • Design an Instagram-like Media Feed - Meta (medium)
  • Design an Online Judge and Live Comments - Meta (medium)
  • Design an Instagram-like platform - Meta (medium)
  • Design a Coding Contest Platform - Meta (medium)
Meta logo
Meta
Sep 6, 2025, 12:00 AM
Data Engineer
Technical Screen
System Design
4
0

Design a Relational Schema for Consumer-App Event Analytics

Context and Assumptions

You are designing the event store for a high-volume consumer app. The schema must support common product analytics and growth metrics efficiently, including:

  • Activity: DAU/WAU/MAU, stickiness
  • Retention cohorts (N-day, week-over-week)
  • Sessions: counts and lengths
  • Funnels and conversions (e.g., view → add_to_cart → purchase)
  • Revenue (ARPU/ARPPU), feature usage, geo/device/app-version breakdowns

Assume at-least-once delivery from clients/services, possible late-arriving events, and high cardinality in event parameters. The store will be queried in a columnar data warehouse or relational engine that supports partitioning and clustering.

Task

Design a relational schema to store user events so that the metrics above can be computed efficiently. Provide:

  1. Table definitions with columns and data types
  2. Primary and foreign keys
  3. Partitioning and indexing strategy
  4. Sample rows
  5. Explanations for normalization versus denormalization choices
  6. How to handle late-arriving or duplicated events
  7. How to support backfills and incremental fact tables

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Meta•More Data Engineer•Meta Data Engineer•Meta System Design•Data Engineer System Design
PracHub

Master your tech interviews with 7,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.