What to Actually Practice Right Now
Stop picking one track. You need a dual-track approach that covers both legacy and modern screens. Here's what that looks like.
Track 1: The Non-Negotiables (every company, every loop)
SQL depth, not SQL breadth. Window functions, CTEs, partition logic, and query optimization appear in both legacy and modern loops. The difference: legacy tests syntax recall; modern tests whether you understand grain, idempotency, and cost implications. Practice both. Window function problems are the single highest-ROI prep activity.
-- Classic interview pattern: running total with partition reset
-- Tests window functions + business logic simultaneously
SELECT
user_id,
event_date,
revenue,
SUM(revenue) OVER (
PARTITION BY user_id, DATE_TRUNC('month', event_date)
ORDER BY event_date
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) AS mtd_revenue,
LAG(revenue) OVER (
PARTITION BY user_id
ORDER BY event_date
) AS prev_day_revenue
FROM fact_user_transactions
WHERE event_date >= CURRENT_DATE - INTERVAL '90 days';
Python for data manipulation, not competitive programming. Python appears in 70% of loops, but they're asking you to process a file, handle edge cases in a data pipeline, or debug a transformation. Not reverse a linked list. Write code that handles nulls, late-arriving records, and schema mismatches.
Data modeling fundamentals. 55% of loops test this. Know your dimensional modeling, know why grain matters, know when to denormalize. "Keep fact tables at grain" is the answer to half these questions. You can always aggregate up; you can never disaggregate down.
Track 2: The Differentiators (company-dependent)
LeetCode mediums, capped. Do 50. Stick to arrays, hash maps, and string manipulation. Few companies ask hards consistently, and the ones that do (Databricks) are transparent about it. Don't spend 200 hours here. It's insurance, not the strategy.
System design for pipelines, not software. Strip back the "system design for software engineers" mentality. You don't need load balancers and reverse proxies. You need pipeline architecture: how to handle late-arriving data, schema evolution, backfills at scale, and cost control. Practice explaining trade-offs out loud. The failure mode is communication, not knowledge.
Production debugging reps. This is the gap in every prep platform. Practice reading logs, tracing lineage, finding where data disappeared. Build a pipeline that breaks and debug it. That's closer to the actual interview than any flashcard deck.
The Recon Step Nobody Does
Before you prep for a specific company, look them up. Check Glassdoor interview sections. Check Blind. Check InterviewQuery. The 30 minutes you spend figuring out whether a company runs DSA or system design saves you 30 hours of misaligned prep. This isn't optional anymore; it's the highest-leverage activity in your entire job search.