Dataford
Interview QuestionsInterview GuidesExperiencesCoaching
New
Pricing
Get started
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
Experiences
Practice
Mock InterviewsTimed interview simulations with feedbackCoaching1:1 coaching with people at your target companiesSuccess 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
Build my plan
SQL for Abandonment Paths
00:00
5 left

SQL for Abandonment Paths

MediumSQL · PostgreSQL

Problem

Write a SQL query to identify the most common paths users take before abandoning a conversational session at Moveworks.Ai. Use the supplied session, user, and event data. Consider only events occurring before abandonment and return the most frequent complete paths.

Output

  1. One row per distinct path, with path_rank, conversation_path, abandoned_sessions, and distinct_users.
  2. Include abandoned sessions only, return at most 10 paths, and order by session count descending, distinct user count descending, then path alphabetically.

Schema

users
ColumnTypeDescription
user_idPKINTUnique user identifier
user_nameVARCHAR(100)Display name of the user
sessions
ColumnTypeDescription
session_idPKINTUnique conversational session identifier
user_idINTUser who initiated the session
statusVARCHAR(20)Session outcome such as abandoned, completed, or active
started_atTIMESTAMPTZSession start timestamp
abandoned_atTIMESTAMPTZTimestamp when the session was abandoned
session_events
ColumnTypeDescription
session_event_idPKINTUnique event collection identifier
session_idINTSession associated with the event collection
eventsJSONBOrdered event objects containing event_type and event_at
Tablesuserssessionssession_events
Interviewer

Your question is SQL for Abandonment Paths. Start with the requirements and the three tables in the Question tab.

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.
CodePostgreSQL
Sign up free to run your codeLog inLn 1
Run your query to see results here.