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."
Calculate French User Engagement and U.S. Call Duration
call_logs +---------+-----------+------------+---------+----------+ | caller | recipient | ds | call_id | duration | +---------+-----------+-...
Calculate Weekly, Monthly Watch Hours for Paid Users
video_view_logs +---------+----------+----------------+------------+------------+ | user_id | video_id | watched_seconds| watch_date | device_type| +-...
Calculate Survey Response Rate and Quality Metric in SQL
survey_responses +---------+----------+---------------------+---------------------+-------+ | user_id | survey_id| impression_ts | click_ts ...
Analyze Group Call Adoption Using SQL Queries
CALL_LOGS | call_id | user_id | call_start | call_end | is_group_call | participant_cnt | | 101 | 12 | 2023-08-01 10:00...
Analyze and Clean European Ecommerce Sales Data
sales +----------+-------------+------------+---------+---------+----------------+ | order_id | customer_id | order_date | country | revenue | product...
Count, Return, Find, and Select in SQL Queries
orders +----------+--------------+------------+--------+ | order_id | customer_id | order_date | amount | +----------+--------------+------------+---...
Calculate Response Rate and Compare User Survey Ratings
USERS user_id | signup_date 10 | 2024-03-20 11 | 2024-04-01 12 | 2024-04-05 SURVEYS survey_id | user_id | sent_at 1 | 10 ...
Calculate Average Session Length and Compare App Performance
user_sessions +---------+------------+------------+---------------------+---------------------+ | user_id | session_id | app | session_start ...
Identify and Flag Bot Traffic in Online Forum
PVE +----------+-----------+ | memberId | timestamp | +----------+-----------+ | 101 | 169100123 | | 102 | 169100225 | | 101 | 16910030...
Write SQL for cohort retention and ARPU
Using PostgreSQL, compute monthly signup cohort D30 retention and 30-day ARPU. Cohort month = date_trunc('month', signup_date). D30 retention = users ...
Write SQL for deliveries analytics
Write SQL for the following analytics tasks. Assume a PostgreSQL-like dialect unless otherwise stated. Treat "today" as 2025-09-01. Schema: - users(us...
Add a conditional column in Python
Using pandas, add a derived column to a table based on multiple conditions with strict precedence and missing-value handling. Given the sample DataFra...
Deduplicate events and rank products with SQL
You are given two tables. Schema: - events(event_id INT PRIMARY KEY, user_id INT, product_id INT, event_time TIMESTAMP, idempotency_key TEXT, amount_c...
Calculate posts per DAU by country today
Given two tables: - user_activity(user_id INT, activity_date DATE, country STRING, dau_flag TINYINT CHECK(dau_flag IN (0,1))) - composer(user_id INT, ...
Compute daily post success rate for last 7 days
You have a table composer(user_id INT, event STRING CHECK(event IN ('enter','post','cancel')), event_date DATE). Compute the post success rate for eac...
Write SQL with HAVING and efficient joins
You are given two tables. Schema - interactions(product_id INT, buyer_id INT, seller_id INT, interaction_date DATE, interaction_type VARCHAR, interact...
Write SQL for post-trial conversion cohorts
Using the schema below, write SQL to compute, for users first exposed between 2025‑06‑01 and 2025‑06‑30 (inclusive), the intent‑to‑treat paid conversi...
Impute missing values without leakage
Given a DataFrame df with columns: user_id, event_date (datetime), country (categorical), device_type (categorical), age (numeric), income (numeric), ...
Unify 7 tables and impute missing values
Using pandas, write a robust function unify_orders(...) that ingests seven dataframes (or CSVs) with possibly inconsistent column casing/whitespace an...
Write SQL to flag Venmo ATO
SQL case: You are a Decision Scientist on Venmo’s Fraud (ATO) team. Using the schema and sample data below, write a single Standard SQL query that ret...