Key PM Interview Areas
1. Product Sense / Design
How you approach building products customers love.
Common types:
o Product Design: "How would you improve LinkedIn Groups?"
o New Product: "Design a product for people who just moved to a new city."
o Trade-offs: "Would you remove the like button on Instagram?"
Framework:
1. Clarify goal / user
2. Identify pain points
3. Brainstorm solutions
4. Prioritize & justify trade-offs
5. Define success metrics
2. Strategy
Higher-level thinking about markets, competition, business goals.
Common prompts:
o "How would you monetize WhatsApp?"
o "Should Uber launch package delivery?"
o "Why is Amazon Prime so successful?"
Tips: Think in terms of market sizing, competitive landscape, user needs, business
impact.
3. Execution
How you make decisions with trade-offs, prioritization, and metrics.
Examples:
o "Your conversion rate dropped by 20% — how do you debug it?"
o "Which metric matters more: retention or acquisition?"
Frameworks:
o Prioritization methods (RICE, MoSCoW, ROI vs. Effort)
o North Star Metrics, OKRs
o Funnel analysis
4. Analytics
Using data to make decisions.
Example questions:
o "DAU dropped by 10% overnight — what do you do?"
o "What’s your favorite metric for TikTok and why?"
Prep: Know common metrics (DAU/MAU, retention, churn, LTV, CAC, NPS), A/B
testing basics.
5. Leadership & Collaboration
PMs work cross-functionally. Interviewers test soft skills: influence, communication,
handling conflict.
Examples:
o "Tell me about a time you aligned engineers and designers with competing
priorities."
o "How do you handle disagreements with your tech lead?"
6. Technical (sometimes)
For PM roles at tech-heavy companies (Google, Meta, Amazon, etc.), expect:
o Basic system design concepts (APIs, databases, frontend vs backend)
o Technical trade-offs (latency vs. accuracy, scalability issues)
o Example: "How would you explain APIs to a non-technical stakeholder?"
📚 How to Prep
1. Framework practice
o CIRCLES method (for product sense)
o AARM (Acquisition, Activation, Retention, Monetization)
o North Star metrics
2. Mock interviews
o Practice aloud with a peer or online community (Ex: Product Alliance, Exponent,
Product Gym).
3. Case studies
o Review real PM interview questions (Google, Meta, Amazon, Microsoft have lots
online).
4. Behavioral prep (STAR method)
o Prepare 5–6 strong stories (leadership, conflict, failure, success, influence,
ambiguity).
5. Stay current
o Follow product launches, read company blogs, and think critically about recent
features.
🎯 Next Steps
I can:
Run you through a mock PM interview question (and critique your answer).
Build a study plan with daily practice questions.
Give you sample answers for common PM questions.
MySQL LeetCode-Style Questions & Answers for PM Interviews
1. Find Duplicate Emails
Question: Given a users table with id and email, find all duplicate emails.
SQL:
SELECT email, COUNT(*) AS occurrences
FROM users
GROUP BY email
HAVING COUNT(*) > 1;
PM Context: Data quality issues like duplicate accounts impact retention, engagement, and
conversion tracking.
2. Employees Earning More Than Their Manager
Question: Given an employees table with id, name, salary, manager_id, find employees who
earn more than their manager.
SQL:
SELECT [Link] AS employee
FROM employees e
JOIN employees m ON e.manager_id = [Link]
WHERE [Link] > [Link];
PM Context: This tests self-joins. From a PM angle, it shows understanding of hierarchies in
data (users, referrers, org structures).
3. Customers Who Never Ordered
Question: Given customers(id, name) and orders(id, customer_id), find customers who
never placed an order.
SQL:
SELECT [Link]
FROM customers c
LEFT JOIN orders o ON [Link] = o.customer_id
WHERE [Link] IS NULL;
PM Context: Helps analyze drop-offs between signup and conversion.
4. Nth Highest Salary
Question: Find the 2nd highest salary from employee(id, salary).
SQL:
SELECT DISTINCT salary
FROM employee
ORDER BY salary DESC
LIMIT 1 OFFSET 1;
Alternative (if N is variable):
SELECT DISTINCT salary
FROM employee e1
WHERE N-1 = (
SELECT COUNT(DISTINCT salary)
FROM employee e2
WHERE [Link] > [Link]
);
PM Context: Ranking queries are useful in leaderboards, revenue analysis, or top user
metrics.
5. Department Top Earners
Question: Find the highest-paid employee(s) in each department.
SQL:
SELECT [Link] AS department, [Link] AS employee, [Link]
FROM employees e
JOIN departments d ON e.department_id = [Link]
WHERE [Link] = (
SELECT MAX(salary)
FROM employees
WHERE department_id = [Link]
);
PM Context: This teaches correlated subqueries → useful for "top product per category" or
"top feature usage per segment."
6. User Activity Log (DAU)
Question: From activity(user_id, activity_date), find daily active users (DAU).
SQL:
SELECT activity_date, COUNT(DISTINCT user_id) AS dau
FROM activity
GROUP BY activity_date
ORDER BY activity_date;
PM Context: Core product metric (engagement).
7. User Retention (Day 1 vs Day 7)
Question: Find users active on signup day and also 7 days later.
SQL:
SELECT COUNT(DISTINCT day1.user_id) AS retained_users
FROM (
SELECT user_id, MIN(activity_date) AS signup_day
FROM activity
GROUP BY user_id
) day1
JOIN activity day7
ON day1.user_id = day7.user_id
AND day7.activity_date = DATE_ADD(day1.signup_day, INTERVAL 7 DAY);
PM Context: Retention = most important health metric for PMs.
8. Average Revenue Per User (ARPU)
Question: Given transactions(user_id, amount), calculate ARPU.
SQL:
SELECT SUM(amount) * 1.0 / COUNT(DISTINCT user_id) AS ARPU
FROM transactions;
PM Context: Key for monetization analysis.
9. Ranking Users by Spend
Question: Rank users by total spend.
SQL:
SELECT user_id, SUM(amount) AS total_spend,
RANK() OVER (ORDER BY SUM(amount) DESC) AS rank
FROM transactions
GROUP BY user_id;
PM Context: Identifies power users / whales.
10. Find Churned Users
Question: Find users who haven’t logged in for the last 30 days.
SQL:
SELECT user_id
FROM activity
GROUP BY user_id
HAVING MAX(activity_date) < CURDATE() - INTERVAL 30 DAY;
PM Context: Core for churn analysis.
11. Conversion Funnel (Signup → First Purchase)
Question: Find conversion rate of users who signed up and made at least one purchase.
SQL:
SELECT
COUNT(DISTINCT o.user_id) * 1.0 / COUNT(DISTINCT [Link]) AS conversion_rate
FROM users u
LEFT JOIN orders o ON [Link] = o.user_id;
PM Context: Funnel drop-off is central to product growth.
12. Median Transaction Amount
Question: Find median transaction amount.
SQL (using window functions):
SELECT AVG(amount) AS median
FROM (
SELECT amount,
ROW_NUMBER() OVER (ORDER BY amount) AS row_num,
COUNT(*) OVER() AS total_count
FROM transactions
) t
WHERE row_num IN (FLOOR((total_count+1)/2), CEIL((total_count+1)/2));
PM Context: Median is often better than mean for skewed product data.
13. Percentage of Users with More Than 1 Order
Question: Find percentage of users who placed more than one order.
SQL:
SELECT COUNT(*) * 100.0 / (SELECT COUNT(DISTINCT user_id) FROM orders) AS
percentage
FROM (
SELECT user_id
FROM orders
GROUP BY user_id
HAVING COUNT(order_id) > 1
) sub;
PM Context: Helps measure repeat usage & loyalty.
14. Detecting Anomalies (Drop in DAU)
Question: Find days where DAU dropped by more than 20% compared to previous day.
SQL:
WITH daily AS (
SELECT activity_date, COUNT(DISTINCT user_id) AS dau
FROM activity
GROUP BY activity_date
)
SELECT d1.activity_date, [Link], [Link] AS prev_dau
FROM daily d1
JOIN daily d2 ON d1.activity_date = DATE_ADD(d2.activity_date, INTERVAL 1 DAY)
WHERE [Link] < [Link] * 0.8;
PM Context: Core to execution/debugging questions ("DAU dropped 20% overnight, what do
you do?").
15. A/B Test Conversion
Question: Given ab_test(user_id, group, converted), calculate conversion by group.
SQL:
SELECT group, COUNT(DISTINCT CASE WHEN converted=1 THEN user_id END) * 1.0 /
COUNT(DISTINCT user_id) AS conversion_rate
FROM ab_test
GROUP BY group;
PM Context: PMs must know how to measure experiment outcomes.