Data Scientist Data Manipulation (SQL/Python) Interview Questions
Practice 530 real Data Manipulation (SQL/Python) interview questions for Data Scientist roles. From companies including Meta, Amazon, TikTok, Capital One, DoorDash.

"I got asked a hardcore MCM DP question and I saw it on PracHub as well. Solved that question in 5 minutes. Without PracHub I doubt I could solve it in 5 hours. Though somehow didn't get hired, perhaps I guess I solved it too fast? /s"

"Believe me i'm a student here jn US. Recently interviewed for MSFT. They asked me exact question from PracHub. I saw it the night before and ignored it cause why waste time on random sites. I legit wanna go back and redo this whole thing if I had chance. Not saying will work for everyone but there is certainly some merit to that website. And i'm gonna use it in future prep from now on like lc tagged"

"10 years of experience but never worked at a top company. PracHub's senior-level questions helped me break into FAANG at 35. Age is just a number."

"I was skeptical about the 'real questions' claim, so I put it to the test. I searched for the exact question I got grilled on at my last Meta onsite... and it was right there. Word for word."

"Got a Google recruiter call on Monday, interview on Friday. Crammed PracHub for 4 days. Passed every round. This platform is a miracle worker."

"I've used LC, Glassdoor, and random Discords. Nothing comes close to the accuracy here. The questions are actually current — that's what got me. Felt like I had a cheat sheet during the interview."

"The solution quality is insane. It covers approach, edge cases, time complexity, follow-ups. Nothing else comes close."

"Legit the only resource you need. TC went from 180k -> 350k. Just memorize the top 50 for your target company and you're golden."

"PracHub Premium for one month cost me the price of two coffees a week. It landed me a $280K+ starting offer."

"Literally just signed a $600k offer. I only had 2 weeks to prep, so I focused entirely on the company-tagged lists here. If you're targeting L5+, don't overthink it."

"Coaches and bootcamp prep courses cost around $200-300 but PracHub Premium is actually less than a Netflix subscription. And it landed me a $178K offer."

"I honestly don't know how you guys gather so many real interview questions. It's almost scary. I walked into my Amazon loop and recognized 3 out of 4 problems from your database."

"Discovered PracHub 10 days before my interview. By day 5, I stopped being nervous. By interview day, I was actually excited to show what I knew."

"I recently cleared Uber interviews (strong hire in the design round) and all the questions were present in prachub."
"The search is what sold me. I typed in a really niche DP problem I got asked last year and it actually came up, full breakdown and everything. These guys are clearly updating it constantly."
Compute age-band spend and YoY in Georgia
Using ANSI SQL only, answer the three parts below on the following schema and samples. Assume dates are YYYY-MM-DD, paid_amt can be negative (adjustme...
Write SQL for 7-day geo-localized revenue dashboard
Write a single SQL query (assume PostgreSQL; tz_offset is an integer hour offset from UTC) to compute a 7-day dashboard by local user date for US vs A...
Label new vs old users over time in SQL
Define users as “new” during the first 30 days inclusive after their signup_date, and “old” thereafter. Produce per-user, per-day labels over a window...
Compute and rank top bad advertisers
SQL on ad safety. Assume the following schema and sample rows. Use ANSI SQL. Today is 2025-09-01; interpret “last 7 days” as 2025-08-26 00:00:00 to 20...
Produce dating profile funnel report by cohort
You work on a dating app. Produce a daily profile-funnel report for 2025-08-25 through 2025-09-01 inclusive, with one row per day, gender, and age_buc...
Write SQL for 7-day WhatsApp call metrics
Today is fixed as 2025-09-01. Using PostgreSQL, write a single query that returns one row per UTC calendar date for the last 7 days inclusive of today...
Compute daily work hours from in/out events
Given punch events, compute each employee’s daily hours, handling unmatched events and overnight shifts. Write SQL over: events(employee_id INT, evt_t...
Write monthly touches and last-touch SQL
You have two tables tracking marketing touches and downstream conversions. Write SQL to answer the three prompts below. Assume a warehouse like Postgr...
Define and analyze new-vs-existing activity
Ambiguous product question: Are existing users more active than new users over the last 28 days (ending today = 2025-09-01)? 1) Propose two reasonable...
Write SQL to quantify outage revenue loss
A database outage blocked premium membership registrations from 2025-01-01 to 2025-03-31 (inclusive). Members intend to start on intended_start_date, ...
Impute, join, and upsert using SQL and Python
Write both SQL and Python (pandas) to complete the following data-manipulation tasks. Assume today is 2025-09-01 for any time filters. Schema: custome...
Write SQL/Python for CTR analytics
Part A — SQL (use the schema and sample data below): Compute 48-hour unique CTR for campaign_id=100 by variant, deduplicating to the earliest send per...
Compute shop visibility and intent metrics in SQL
Schema (PostgreSQL). Tables: users(user_id) shops(shop_id, shop_name, merchant_type) posts(post_id, shop_id, is_shoppable BOOLEAN, created_at TIMESTAM...
Write SQL to infer group-call demand
You are given only 1:1 call logs and a user table. Use SQL to estimate latent demand for a 'Group Call' feature by detecting 10-minute 'call loops' wh...
Diagnose zero IE uploads with SQL
On 2025‑09‑01 ('today'), the dashboard shows image uploads for Internet Explorer (IE) dropped to zero. Write SQL to (a) determine if this is a technic...
Compute CTR, RPM, and daily RPM variability in SQL
Write ANSI-Postgres SQL to compute, for each campaign, over the last 7 days inclusive (assume "today" is 2025-09-01, so the window is 2025-08-26 throu...
Compute feed ad frequency and retention in SQL
Assume today is 2025-09-01. Schema and tiny samples: feed_impressions(impression_id, user_id, impression_time, content_type, feed_position, session_id...
Assess SQL cleaning, mapping, joins, keys, and DDL/DML
You inherit a small retail analytics warehouse. Use the schema and sample rows below to answer all parts. Schema and sample data (minimal rows shown):...
Find multi-account buckets and unread rate
You are analyzing a product in which one user can own multiple accounts. Use the following schema: Table: accounts - account_id BIGINT - user_id BIGIN...
Identify SQL Joins and Correct Query Errors
Winner +----+-------+ | ID | Name | +----+-------+ | 1 | Alice | | 2 | Bob | | 3 | Carol | +----+-------+ Loser +----+-------+ | ID | Name | ...