Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

7-Day Rolling DAU on Facebook

HardSQL · PostgreSQL00:00
Practice interviewer
In session
5 left
00:00

Your question is 7-Day Rolling DAU on Facebook. Start with the requirements and the one table on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Facebook wants to monitor short-term engagement trends by tracking the 7-day rolling average of daily active users (DAU). Write a SQL query to calculate this metric from app activity logs.

Requirements

  1. Treat a user as active on a day if they generated at least one event on that date.
  2. Compute daily active users as the count of distinct users per activity date.
  3. Return the 7-day rolling average of DAU using the current date and previous 6 dates in the result set.
  4. Output activity_date, daily_active_users, and rolling_7d_avg_dau.
  5. Order the final result by activity_date ascending.

Schema

facebook_activity
ColumnTypeDescription
event_idPKINTUnique event identifier
user_idINTFacebook user who generated the event
event_timeTIMESTAMPTimestamp when the activity occurred
event_nameVARCHAR(50)Type of user activity event
device_typeVARCHAR(20)Device used for the event
Tablesfacebook_activity
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results