Dataford
Popular roles
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Browse
Browse All RolesEvery role hub, from analyst to MLBrowse All CompaniesCompany-specific interview loopsAll Interview GuidesThe full guide library
Top questions by role
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Top questions by skill
SQLPythonStatisticsMachine LearningA/B TestingSystem DesignGenerative AIProduct SenseMetricsBehavioral
Browse all questions →Try a mock interview
ExperiencesCoaching
New
Practice
Mock InterviewsTimed interview simulations with feedbackSuccess PathYour 6-week structured planModulesCurated lessons by topicWebinarsTalks from ex-Big Tech data leadsPlaygroundA free-form scratch editor
Learn
BlogInterview strategy and career adviceTech Job Market ReportHiring trends across data and AI rolesFor UniversitiesDataford for career centersAbout DatafordWho we are and how we build
Pricing
Get started
Classify Teams by January Active Users
00:00
5 left

Classify Teams by January Active Users

MediumSQL · PostgreSQL

Problem

How would you solve intermediate SQL questions involving an unfamiliar schema under time pressure at Dropbox?

Using the provided Dropbox schema, write one PostgreSQL query that summarizes January 2025 activity for every team. Include teams with no qualifying activity and classify each team based on its number of active users.

Output

  1. One row per team with team_name, active_users, uploaded_bytes, latest_event_at, and activity_status
  2. Include all teams, including teams with no qualifying events
  3. Sort by active_users descending, then team_name ascending

Output details

  • Count each user only once when determining active_users.
  • Treat January as event_at >= TIMESTAMP '2025-01-01 00:00:00' and event_at < TIMESTAMP '2025-02-01 00:00:00'.
  • Sum bytes only for upload events, treating NULL bytes and non-upload events as zero.
  • Use 0 for active_users and uploaded_bytes, and NULL for latest_event_at, when a team has no qualifying events.
  • Classify teams with at least 2 active users as active; classify all others as low_activity.

Schema

teams
ColumnTypeDescription
team_idPKINTUnique Dropbox team identifier
team_nameVARCHAR(100)Display name of the team
users
ColumnTypeDescription
user_idPKINTUnique Dropbox user identifier
team_idINTTeam assigned to the user
full_nameVARCHAR(120)User display name
file_events
ColumnTypeDescription
event_idPKINTUnique file event identifier
user_idINTUser associated with the event
event_typeVARCHAR(30)Type of file event
bytesBIGINTBytes associated with the event
event_atTIMESTAMPTimestamp when the event occurred
Tablesteamsusersfile_events
Interviewer

Whenever you're ready, walk me through your approach or go straight to the code. The requirements and the three tables are in the Question tab.

You need to log in / sign up to run or submit.
CodePostgreSQL
Sign up free to run your codeLog inLn 1
Run your query to see results here.