← Meta Interview Insights

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

Senior
Apr 2026

Summary

Meta data engineer interview with a schema design question for a customer support data warehouse. Pretty standard system design territory but the scope was wide enough that I kept second-guessing how deep to go.

Questions Asked (1)

Q1

Design a data warehouse schema to support a customer support platform. Walk through your table structure, relationships, and how you'd handle reporting needs.

Data ModelingSystem DesignTechnical Trade-offs
Author's notes

I started with a fact table around support tickets and built out dimensions for customers, agents, and issue categories.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the business goals and key metrics for the customer support platform, then propose a dimensional model (star schema) with a central fact table for support interactions and dimension tables for customers, agents, time, and products. Walk through the table structures, relationships, and how this design supports common reporting needs like ticket volume, resolution time, and agent performance, while discussing trade-offs between normalization and query performance.

Pro tip: Emphasize how your schema supports slowly changing dimensions (SCDs) for customer and agent attributes, as this shows you understand real-world data evolution and historical reporting accuracy.

1. Clarify Requirements and Metrics

Ask questions to understand the key business questions, reporting needs, and data sources. Identify metrics like ticket volume, first response time, resolution time, and customer satisfaction.

2. Design the Fact Table

Propose a central fact table (e.g., fact_support_interaction) at the grain of one row per ticket or interaction, containing foreign keys to dimensions and numeric measures like duration and satisfaction score.

3. Design Dimension Tables

Create dimension tables for customer, agent, time, product, and channel, with descriptive attributes. Discuss how to handle slowly changing dimensions (Type 2) for customer and agent details.

4. Define Relationships and Schema

Explain the star schema with foreign key relationships from the fact table to dimensions. Mention potential snowflaking for hierarchical dimensions like product categories, and trade-offs.

5. Address Reporting and Performance

Describe how the schema supports common queries (e.g., aggregations by time, agent, product) and discuss indexing, partitioning, and materialized views for performance.

Key Points to Mention

  • Star schema vs. snowflake schema and when to use each
  • Grain of the fact table (e.g., one row per ticket or per interaction)
  • Slowly changing dimensions (Type 2) for customer and agent attributes
  • Conformed dimensions for cross-process reporting (e.g., time, customer)
  • Partitioning and indexing strategies for large fact tables
  • Handling late-arriving data and updates in a data warehouse

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