PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Discord

Design Video Call Analytics Tables

Last updated: May 5, 2026

Quick Overview

This question evaluates data modeling and analytics competencies including event schema design, dimensional modeling (facts and dimensions), ETL/cleaning and deduplication, and time-windowed SQL aggregation.

  • hard
  • Discord
  • System Design
  • Data Engineer

Design Video Call Analytics Tables

Company: Discord

Role: Data Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

You are building analytics tables for Discord video calls. Video-call activity is recorded from both client-side and server-side logs. Design a data model that supports reliable analytics using at least the following information: - Video/call identifier - User identifier - User country - Call duration - Number of joins - Number of rejoins - Event timestamp Assume a call can involve multiple users, and one call may generate multiple raw events. Explain how you would model raw events, cleaned facts, and user/country dimensions. Then write SQL for the following analytics questions: 1. For each country and calendar day, compute the number of video calls. 2. For every day that appears in the database, compute for each country the number of video calls in the trailing 7-day, 14-day, and 30-day windows ending on that day. State any assumptions you make, especially how you count a call that includes users from multiple countries.

Quick Answer: This question evaluates data modeling and analytics competencies including event schema design, dimensional modeling (facts and dimensions), ETL/cleaning and deduplication, and time-windowed SQL aggregation.

Related Interview Questions

  • Design Slack-like chat system - Discord (easy)
  • Design a TCP Discord-like chat server - Discord (medium)
  • Design leader election using Redis leases - Discord (medium)
  • Design a Slack-like chat system - Discord (medium)
Discord logo
Discord
Apr 3, 2026, 12:00 AM
Data Engineer
Onsite
System Design
1
0

You are building analytics tables for Discord video calls. Video-call activity is recorded from both client-side and server-side logs.

Design a data model that supports reliable analytics using at least the following information:

  • Video/call identifier
  • User identifier
  • User country
  • Call duration
  • Number of joins
  • Number of rejoins
  • Event timestamp

Assume a call can involve multiple users, and one call may generate multiple raw events. Explain how you would model raw events, cleaned facts, and user/country dimensions.

Then write SQL for the following analytics questions:

  1. For each country and calendar day, compute the number of video calls.
  2. For every day that appears in the database, compute for each country the number of video calls in the trailing 7-day, 14-day, and 30-day windows ending on that day.

State any assumptions you make, especially how you count a call that includes users from multiple countries.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Discord•More Data Engineer•Discord Data Engineer•Discord 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.