Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

7-Day Rolling DAU on Facebook

HardSQL · PostgreSQL00:00
I
Practice interviewer
Your interviewer
In session
I
Interviewer

Welcome to the SQL screen.

The question is on your right: 7-Day Rolling DAU on Facebook. Read through the requirements and the one table first.

Run and submit your code as often as you need. You also have five interviewer messages this session - want to talk through your approach, or are you ready to start coding?

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