SQL Interview Prep Plan — 30 Days to FAANG-Ready
A four-week structured plan to take you from rusty SQL to confident, FAANG-ready interviewer. Daily tasks, weekly checkpoints, real practice.
Most people who fail FAANG SQL interviews didn't fail because they're not smart enough. They failed because they prepped randomly. A LeetCode problem here, a YouTube video there, a Stratascratch session on Sunday. Three weeks in, they can't tell you what they've actually learned, and the loop comes faster than expected.
A structured plan changes that. This is the 30-day plan I'd give to a senior analyst friend who has an upcoming Meta, Stripe, or Airbnb interview and 4 weeks of evenings to prep. It's calibrated for someone who already knows SQL — you can write a JOIN, you've seen window functions, you understand CTEs. What you need is interview-readiness, which is a different skill than SQL fluency.
Here's how to build it in 30 days.
How This Plan Works
The plan is four weeks. Each week has a theme and a measurable checkpoint. Daily commitment is 45-60 minutes on weekdays, 2-3 hours on weekends. If you can do more, do more — but more than 90 minutes a weekday produces diminishing returns and burnout by week 3.
You'll spend time on four kinds of activity, weighted differently each week:
- Drills — pure SQL practice, building muscle memory
- Realistic problems — full business prompts on realistic schemas
- Talking out loud — narration practice while solving
- Interpretation writing — 2-paragraph business interpretation of results
Most candidates do only the first one. The other three are where senior offers come from.
Week 1 — Foundations and Diagnostic
Goal: identify your weak spots, set the baseline.
The biggest mistake in prep is starting the practice grind without knowing what's actually broken. Most people think their weak spot is something subtle when it's actually fundamentals — they can't reliably write COUNT(DISTINCT ...) under pressure, or they confuse window functions with GROUP BY.
Days 1-2 — Diagnostic. Solve 5 problems across these categories without help: a basic aggregation, a self-join, a window function, a multi-CTE query, a date-bucketed cohort. Time yourself. Note which felt slow or shaky.
Days 3-5 — Patch the weak spot. Whatever scored lowest gets focused practice. If window functions felt off, do 8-10 window function problems back to back. If date logic was shaky, drill date functions specifically. Don't rotate yet — go deep on the weakest area.
Days 6-7 — Realistic problem. Pick a full business problem (e.g., "compute monthly retention by acquisition channel") and solve it end-to-end on a realistic schema. Time yourself; aim for 25 minutes including narration.
Checkpoint: by end of week 1, you should be able to identify your 2 weakest SQL concepts by name and have done at least 15 problems total.
Week 2 — Pattern Mastery
Goal: drill the five interview patterns until they're automatic.
Every business SQL interview pulls from the same five patterns. Senior interviewers will combine two patterns into one problem, but each component is one of these. Mastering each individually means combinations don't break you.
The patterns:
- Cohort retention — date-bucketed user retention over time
- Funnel conversion — step-by-step conversion, sequential or presence
- A/B test analysis — variant comparison with significance awareness
- Channel attribution / ROI — spend vs. revenue, first-touch vs. last-touch
- Window functions — running totals, ranks, lags, deduplication
Days 8-9 — Cohort retention. Solve 4 cohort problems with increasing complexity. End by writing one in three different ways (monthly cohorts, weekly cohorts, by acquisition channel).
Days 10-11 — Funnels and A/B. Two funnel problems (one presence, one sequential), then two A/B tests with the senior-signal moves (sample size, segments, novelty checks).
Days 12-13 — Attribution and windows. One first-touch + one last-touch attribution. Then 4-6 window function problems (RANK, LAG, running SUM, dedupe).
Day 14 — Mixed problem. A combined problem: e.g., "for each acquisition channel, compute the 6-month retention rate of users acquired in Q1." This forces you to glue cohort logic + window logic + channel breakdown.
Checkpoint: by end of week 2, you should be able to write a basic version of all 5 patterns from memory in under 10 minutes each.
Week 3 — Communication and Interpretation
Goal: build the narration and interpretation muscle that separates senior from junior.
This is the week most prep plans skip. It's also the highest-ROI week. Candidates who do this week well consistently outperform candidates who spent the same time on more SQL drills.
Days 15-16 — Talk-aloud practice. Pick 4 problems you've already solved. Record yourself solving them again, narrating in the four-beat structure (restate, plan, narrate trade-offs, interpret). Play back the recordings. Notice every silence, every "um", every line-by-line read-back. Cringe is part of the drill.
Days 17-18 — Interpretation writing. Pick 4 problems. After solving each, write a 2-paragraph interpretation of the result. What does the number mean? What's the biggest drop? What would you investigate next? What would change your recommendation? This builds the business judgment muscle.
Days 19-20 — Mock interview practice. Get a friend (ideally another candidate or a senior analyst) to give you a 30-minute SQL mock. They give you a prompt, you solve out loud, they ask follow-ups. Do two of these this week.
Day 21 — Self-review. Re-read your SQL from week 1. Most of it should look amateur to you by now. Identify three habits you've internalized.
Checkpoint: by end of week 3, you should have a recording of yourself solving a problem out loud that you'd be willing to send to a friend without cringing. That's the bar.
Week 4 — Production-Ready and Mock Loops
Goal: raise the bar from "correct" to "would survive code review."
The final week is where you stop being a candidate who can solve problems and become a candidate who can solve them at senior bar. The difference is production-readiness — CTE structure, edge case handling, performance awareness, code that a teammate could maintain.
Days 22-23 — Production rewrites. Take 4 of your best problems from weeks 1-2. Rewrite them production-ready: named CTEs, explicit null handling, time window precision, comments on the non-obvious. Compare the rewrites to the originals.
Days 24-25 — Full mock loops. Do a 45-minute mock with two problems back-to-back. Simulate the real loop pressure. After each, get feedback on all five rubric dimensions (structuring, correctness, communication, business judgment, code quality).
Days 26-27 — Edge case audit. Pick 5 problems. For each, list every edge case (nulls, duplicates, empty groups, off-by-one in time windows, integer division). Then rewrite to handle each.
Day 28 — Live problem on a domain you haven't practiced. Most candidates over-practice growth/SaaS and freeze on marketing or finance. Find a problem in an unfamiliar domain and solve it cold. This builds the recovery muscle.
Days 29-30 — Rest and review. Don't drill the day before the loop. Re-read your notes. Re-watch one of your best mock recordings. Sleep 8 hours both nights. The candidate who shows up rested outperforms the candidate who crammed.
Checkpoint: by end of week 4, you should be able to walk into a 45-minute SQL loop and feel like you've already done it 10 times — because you have.
The Daily Format
A weekday session looks like this:
- 5 min — warm-up: solve one easy problem you've seen before, just to wake up the SQL muscles
- 30 min — the day's main practice: one realistic problem, end-to-end with narration if recording
- 10 min — write the interpretation: 2 paragraphs on what the result means and what you'd do next
- 10 min — note-taking: what was hard, what felt automatic, what you'd improve
The note-taking part is what makes the plan compound. By week 3 you'll have notes that show you exactly where to focus week 4. By the end you'll have a personal weakness map.
Common Plan Failures
1. Skipping interpretation writing. It feels like the lowest-priority activity. It's actually the highest-leverage. Don't skip it.
2. Doing only drills, no realistic problems. LeetCode-style problems train you for LeetCode-style interviews. They don't train you for the messy 3-CTE business problems Meta and Stripe ask. Mix the formats.
3. Practicing alone the entire 4 weeks. Get at least 3 mock interviews with a real human. You won't catch your own communication blind spots without an external observer.
4. Cramming the last week. The week before the loop should be light. Heavy drilling produces fatigue, not improvement.
5. Practicing only what you're good at. The drills you avoid are the drills you need most. Force yourself to do window function problems if those are weakest. Force yourself to talk out loud if narration is weakest.
What This Plan Doesn't Cover
This plan is for the SQL portion of the loop. It won't prepare you for:
- The behavioral round (separate prep, separate skill)
- The product sense round (PM-style estimation and tradeoffs)
- The case study round (multi-step analytical reasoning beyond SQL)
For most analyst loops, SQL is one of 3-5 rounds. This plan covers the SQL round comprehensively. You'll need to prep the other rounds in parallel — but the SQL round is usually the elimination round, so it's the right one to focus on first.
Getting Started Today
The hardest day of any 30-day plan is day 1. Beat the start friction:
- Block out 30 evenings on your calendar right now
- Set up a notebook for daily notes (paper, Notion, whatever)
- Pick a tool for daily practice that mirrors real interviews
- Solve the diagnostic 5 problems tonight
The candidates who execute the full 30 days don't do it through willpower. They do it because they've made the structure inevitable — blocked time, ready environment, no decision fatigue. Build the environment, the practice happens.
Ready to start? Queryflo's daily task ships a fresh, interview-style problem every morning — that's the diagnostic for day 1. Hit it tonight, see where you stand, and the plan starts itself.
Try today's daily SQL task
A fresh, AI-graded SQL challenge ships every morning. Five minutes a day, real momentum.
Try today's daily SQL task