Pinterest Data Manipulation (SQL/Python) Interview Questions
Pinterest Data Manipulation (SQL/Python) interview questions at Pinterest concentrate on practical data wrangling and storytelling: expect tasks that test your ability to extract correct answers from messy datasets, write efficient SQL (joins, window functions, CTEs, aggregation) and produce clear, reproducible Python (pandas/NumPy) code. Interviewers evaluate correctness, performance, edge-case handling, clarity of thought, and how you communicate assumptions and trade-offs. What’s distinctive is the emphasis on product-relevant thinking—how your data work supports metrics, experiments, and scalable pipelines—so technical answers tied to real business context score higher. For interview preparation, focus on timed practice problems that mirror production scenarios: write SQL against sample event tables, optimize queries, and implement the same logic in pandas while showing tests and simple benchmarks. Practice explaining your approach aloud and documenting assumptions, and rehearse end-to-end workflows (data validation to final metric). Also be ready for a short coding assessment or technical screen followed by loop interviews that blend coding, domain questions, and behavioral discussion about impact and collaboration.

"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."
"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."
Write SQL for top categories and highly active users
You are given three tables: 1) impression Event-level table of user impressions. - impression_id BIGINT (PK) - user_id BIGINT (FK → user.user_id) - pi...
Compute percent of first-cancel users who never return
You’re analyzing appointment behavior for a scheduling product. Table appointments - appointment_id (STRING, PK) - user_id (STRING) - scheduled_start_...
Find top category by video time spent
Pandas required. You are given a DataFrame df with columns: user_id (int), pin_id (int), pin_type (str), category (str or None), time_spent_sec (numer...
Compute CTR by pin_format and date
PostgreSQL-compatible SQL required. Given these tables, write a single query that returns, for each event_date and pin_format, the Click-Through-Rate ...
Write SQL to compute max-overlap lists
Invented schema and sample data below. Assume 'today' is 2025-09-01 and 'last 7 days' means 2025-08-26 through 2025-09-01 inclusive. Only consider lis...
Transform nested dicts with pandas apply/lambda
Given a pandas DataFrame df with columns: user_id (int), ts (datetime64[ns]), events (list of dicts), attrs (dict). Example rows (conceptual): user_id...
Write windowed retention and ARPU SQL
You are given three tables. Write one SQL script (CTEs allowed) that answers all parts using window functions and joins (no procedural loops): Schema:...
Write SQL and pandas for shopping events
Use the schema and sample data below to answer SQL and pandas tasks. Treat 'today' as 2025-09-01. Schema users(user_id INT, country STRING) pins(pin_i...
Write SQL to rank categories by impressions
You are given the following schema and sample data. Today is 2025-09-01. Schema: - users(user_id INT, country_id VARCHAR) - countries(country_id VARCH...
Find top video category by average time
You are given a pandas DataFrame 'pins' with columns [pin_id:int, category_id:int, time_spent_sec:float, pin_format:string] and a dict 'category_map' ...
Compute CTR by pin_format for new US users
Write a single SQL query to compute click-through rate (CTR) per pin_format for US new users. New users are those whose signup_date is within 30 days ...
Aggregate video time and unique pins in Python
Part A (category by average time for videos): You receive a list of pin engagement rows and a category map. pins = [ {"pin_id": 10, "category_id": 1,...
Compute CTR by format for new US users
You are given three tables. Write a single SQL query to compute click-through rate (CTR) by pin_format for NEW users in the US, where NEW users are th...
Implement Binary Search for Policy Violation Logs
violations +--------+---------+---------------+ | pin_id | type | violation_date| +--------+---------+---------------+ | 0 | spam | 2022-01...
Clean and Aggregate Transactions for Finance Dashboard
transactions id | user_id | amount | timestamp | category 1 | 1001 | 19.99 | 2023-01-01 09:00:00 | grocery 2 | 1001 | 5.50 | 2023...
Analyze Global Engagement and Impressions with SQL Queries
impressions +---------+---------+----------+----------------+ | user_id | country | category | impression_cnt | +---------+---------+----------+------...