Skip to main content

Curated Problem Lists

Reading time: ~15 min | Interview relevance: Critical | Roles: All AI/ML roles

You have spent weeks studying algorithms, brushing up on ML theory, and reading system design case studies. But when you sit down to actually practice, the question hits: which problems should I solve, and in what order? With thousands of LeetCode questions, hundreds of ML exercises, and an ever-growing list of system design scenarios, unfocused practice is the fastest way to burn out without making real progress.

This section is your antidote to aimless grinding. We have assembled curated, opinionated problem lists that map directly to what top AI/ML companies actually ask. Every problem has been selected for a reason, tagged by difficulty, and organized so you can build skills systematically rather than randomly.

Why Curated Lists Matter

:::tip The 80/20 of Interview Prep Research on interview preparation consistently shows that candidates who follow structured problem sets outperform those who solve random problems by a wide margin. Focused, deliberate practice on the right problems beats volume every time. :::

The Problem with Random Practice

ApproachOutcome
Solve 500 random LeetCode problemsCovers many patterns but misses depth; burnout likely
Follow a curated 50-problem core setCovers all key patterns; deep understanding; sustainable
Role-specific targeted list (40 problems)Maps directly to interview rounds; high ROI
Company-style practice (25 problems)Calibrates to the exact format you will face

What Makes These Lists Different

  1. AI/ML-specific -- Not generic software engineering lists. Every problem is selected for its relevance to AI/ML roles
  2. Role-mapped -- Different roles get asked different things. An MLOps engineer will not face the same questions as a Research Engineer
  3. Company-calibrated -- Google, Meta, and startups interview differently. We provide lists tuned to each style
  4. Difficulty-tiered -- Build from Easy to Hard systematically, with clear progression markers
  5. Time-estimated -- Know exactly how long each problem should take so you can plan realistic study sessions

How This Section Is Organized

The Core Foundation

ChapterWhat It CoversWho It Is For
The Core 50The 50 essential problems every AI/ML candidate must knowEveryone

Role-Specific Lists

ChapterTarget RoleProblem Count
MLE ProblemsMachine Learning Engineer40+
AI Engineer ProblemsAI Engineer / LLM Engineer40+
Data Scientist ProblemsData Scientist40+
MLOps ProblemsMLOps / ML Platform Engineer40+
Research Engineer ProblemsResearch Engineer / Research Scientist40+
Data Engineer ProblemsData Engineer / Analytics Engineer40+

Difficulty-Tiered Lists

ChapterDifficultyProblem CountBest For
Easy TierEasy30+Warm-up, building confidence, fundamentals
Medium TierMedium40+Core preparation, most interview rounds
Hard TierHard30+Senior roles, top-tier companies

Company-Style Lists

ChapterCompany StyleProblem CountFocus Area
Google-StyleGoogle / DeepMind25+Scalability, clean code, multiple approaches
Meta-StyleMeta / Instagram25+Product ML, recommendation systems, speed
Startup-StyleStartups / Scale-ups25+Practical, end-to-end, take-home projects

How to Use These Lists

Step 1: Identify Your Target

Before diving into problems, answer these questions:

  1. What role am I targeting? (MLE, AI Engineer, Data Scientist, etc.)
  2. What companies am I applying to? (Big Tech, startups, research labs)
  3. What is my current level? (New grad, mid-level, senior)
  4. How much time do I have? (2 weeks, 1 month, 3 months)

Step 2: Choose Your Lists

Based on your answers, follow one of these study paths:

Path A: The Focused Sprint (2-4 weeks)

Week 1-2: Core 50 (all 50 problems)
Week 3-4: Your role-specific list (40 problems)

Path B: The Comprehensive Prep (1-2 months)

Week 1-2: Easy Tier (confidence building)
Week 3-4: Core 50 (pattern mastery)
Week 5-6: Role-specific list (targeted prep)
Week 7-8: Company-style list (format calibration)

Path C: The Deep Dive (2-3 months)

Week 1-2: Easy Tier (warm-up)
Week 3-5: Core 50 + Medium Tier (breadth)
Week 6-8: Role-specific list (depth)
Week 9-10: Hard Tier (challenge)
Week 11-12: Company-style list + mock interviews

:::note Choosing the Right Path If you have less than 2 weeks, skip straight to the Core 50 and your role-specific list. The Core 50 alone covers 80% of what you need. If you have more time, the deeper paths build significantly more confidence and flexibility. :::

Step 3: Track Your Progress

For each problem, track:

FieldWhy It Matters
Date attemptedEnables spaced repetition scheduling
Time takenIdentifies slow areas needing more practice
Solved independently?Distinguishes real understanding from pattern matching
Key insightForces articulation of the core concept
Review dateScheduled revisit for retention

The Spaced Repetition Approach

:::tip Why Spaced Repetition Works Solving a problem once teaches you the pattern. Solving it again 3 days later cements it. Solving it a third time 7 days later makes it permanent. This is not opinion -- it is backed by decades of cognitive science research on the spacing effect. :::

The Review Schedule

After solving a problem for the first time:

ReviewWhenWhat to Do
Review 1Day 1 (next day)Re-solve from scratch. Should be faster.
Review 2Day 3Re-solve. If stuck, review notes, then retry.
Review 3Day 7Re-solve. Should feel natural.
Review 4Day 14Quick mental walkthrough. Code only if unsure.
Review 5Day 30Final check. If solid, move to archive.

Categorizing Your Problems

After each attempt, categorize the problem:

CategoryMeaningAction
GreenSolved independently in target timeStandard review schedule
YellowSolved with hints or over timeExtra review at Day 2 and Day 5
RedCould not solve or needed solutionRe-study pattern, re-attempt in 1 day

Building a Review Queue

Daily Problem Review Routine - Spaced Repetition Queue

Problem Categories Explained

Every problem in these lists is tagged with a category. Here is what each category means and why it matters:

Coding Categories

CategoryDescriptionExample Topics
Arrays & HashingFundamental data manipulationTwo Sum, sliding window, frequency maps
Linked ListsPointer manipulationReversal, cycle detection, merge
Trees & GraphsHierarchical and network structuresBFS, DFS, shortest path, topological sort
Dynamic ProgrammingOptimal substructure problemsKnapsack, LCS, edit distance
Sorting & SearchingOrdering and lookupBinary search variants, merge sort
StringsText processingParsing, pattern matching, encoding
Stacks & QueuesLIFO/FIFO structuresMonotonic stack, BFS with queue
HeapsPriority-based accessTop-K, median finding, scheduling
GreedyLocally optimal choicesInterval scheduling, Huffman coding
Math & Bit ManipulationNumerical computationModular arithmetic, bitwise operations

ML Categories

CategoryDescriptionExample Topics
ML ImplementationCode an ML algorithm from scratchLinear regression, k-means, decision tree
Feature EngineeringTransform raw data into useful featuresEncoding, scaling, feature selection
Model EvaluationAssess model performance correctlyCross-validation, metrics selection, bias-variance
ML System DesignEnd-to-end ML system architectureRecommendation systems, search ranking, fraud detection
Deep LearningNeural network implementation and theoryBackpropagation, CNN, RNN, Transformer
NLP / LLMText and language model problemsTokenization, embeddings, RAG, fine-tuning
StatisticsProbability and statistical inferenceHypothesis testing, Bayesian reasoning, distributions

System & Infrastructure Categories

CategoryDescriptionExample Topics
SQLDatabase querying and optimizationJoins, window functions, query plans
Data ProcessingETL and data pipeline problemsPandas, Spark, streaming
System DesignLarge-scale architectureDistributed training, model serving, feature stores
MLOpsML operations and infrastructureCI/CD for ML, monitoring, deployment
Cloud & InfraCloud platform and toolingKubernetes, Docker, GPU management

Difficulty Calibration

Understanding what "Easy," "Medium," and "Hard" mean in context:

Coding Problems

DifficultyLeetCode EquivalentTarget TimeWhat It Tests
EasyLC Easy10-15 minBasic patterns, syntax, edge cases
MediumLC Medium20-30 minPattern combination, optimization
HardLC Hard35-45 minComplex algorithms, multiple techniques

ML Problems

DifficultyWhat It TestsTarget Time
EasySingle concept recall and basic implementation15-20 min
MediumConcept combination, tradeoff analysis25-35 min
HardNovel problem framing, deep mathematical reasoning40-60 min

System Design Problems

DifficultyWhat It TestsTarget Time
EasySingle-component design, standard patterns20-25 min
MediumMulti-component systems, scaling considerations30-40 min
HardNovel architectures, complex tradeoffs, cost analysis45-60 min

Company Tags Explained

Problems are tagged with companies that have asked similar questions:

TagCompanies IncludedInterview Style
FAANGGoogle, Meta, Amazon, Apple, NetflixStructured, multi-round, high bar
Big TechMicrosoft, Uber, Airbnb, LinkedIn, StripeStructured with domain focus
AI LabsOpenAI, Anthropic, DeepMind, CohereResearch + engineering blend
UnicornsDatabricks, Scale AI, Anyscale, Hugging FaceFast-paced, practical
StartupsSeries A-C AI companiesEnd-to-end, take-home heavy

:::warning Company Tags Are Approximate No problem list can guarantee exactly what a company will ask. Tags indicate that similar problems have been reported in interviews at these companies. Use them as directional guidance, not guarantees. :::

Time Investment Guide

How Many Problems Do You Actually Need?

Candidate ProfileRecommended ProblemsEstimated Hours
New grad, first AI roleCore 50 + Easy Tier + Role list = ~12080-100 hours
Experienced SWE switching to MLCore 50 + Role list = ~9060-80 hours
Mid-level MLE, same roleRole list + Company style = ~6540-50 hours
Senior, targeting top companyCore 50 + Hard Tier + Company style = ~10570-90 hours
Career changer, no CS backgroundEasy Tier + Core 50 + Role list = ~120100-120 hours

Daily Practice Schedule

:::tip Consistency Over Volume Solving 3 problems per day for 30 days beats solving 30 problems in a weekend. Your brain needs sleep to consolidate pattern recognition. Aim for 1-3 problems per day maximum. :::

Time AvailableRecommended Daily Plan
30 min/day1 review problem + study 1 new problem
60 min/day2 review problems + solve 1 new problem
90 min/day2 review problems + solve 1-2 new problems
2+ hours/day3 review problems + solve 2 new problems + 1 system design

Cross-Referencing with Other Sections

These problem lists are designed to work together with the rest of this handbook:

If You Struggle With...Go Review...
Coding patternsSection 4: Coding Interviews
ML fundamentalsSection 5: ML Fundamentals
Deep learning theorySection 6: Deep Learning
LLM questionsSection 7: LLM Interviews
System designSection 8: ML System Design
Paper discussionSection 9: Paper Discussion
Behavioral roundsSection 10: Behavioral
Take-home projectsSection 11: Take-Home Projects

Tracking Template

Use this template (spreadsheet, Notion, or plain text) to track your progress:

Problem: [Name]
Category: [e.g., Arrays & Hashing]
Difficulty: [Easy/Medium/Hard]
Date First Attempted: [YYYY-MM-DD]
Time Taken: [minutes]
Result: [Green/Yellow/Red]
Key Insight: [1-2 sentences about the core technique]
Review Dates: [Day 1] [Day 3] [Day 7] [Day 14] [Day 30]
Notes: [Any additional observations]

Sample Filled Entry

Problem: Two Sum
Category: Arrays & Hashing
Difficulty: Easy
Date First Attempted: 2026-03-01
Time Taken: 8 min
Result: Green
Key Insight: Hash map for O(1) complement lookup instead of O(n) nested loop
Review Dates: 03/02 [done] 03/04 [done] 03/08 [done] 03/15 [skip] 03/31 [pending]
Notes: Remember to handle duplicate values in the same pass

Common Mistakes to Avoid

:::danger Top 5 Prep Mistakes

  1. Grinding without reviewing -- Solving 200 problems means nothing if you cannot recall the patterns from problem #5
  2. Skipping easy problems -- Easy problems build the vocabulary you need for medium and hard problems
  3. Only doing coding -- AI/ML interviews are multi-dimensional. System design and ML theory carry equal weight
  4. Not timing yourself -- Interview problems have strict time limits. Practice under time pressure
  5. Ignoring company style -- A Google interview feels nothing like a startup interview. Calibrate accordingly :::

For every problem, follow this structured approach:

For Coding Problems (UMPIRE)

StepActionTime
UnderstandRestate the problem. Clarify inputs, outputs, constraints2-3 min
MatchIdentify which pattern(s) apply1-2 min
PlanWrite pseudocode or outline your approach3-5 min
ImplementWrite clean, well-structured code10-15 min
ReviewWalk through your code with a test case2-3 min
EvaluateAnalyze time/space complexity; discuss tradeoffs2-3 min

For ML Problems

StepActionTime
ClarifyWhat is the task? What data is available? What metric?3-5 min
FormulateFrame as supervised/unsupervised/RL. Choose approach5 min
DesignArchitecture, features, training strategy10 min
EvaluateMetrics, baselines, failure modes5 min
IterateWhat would you try next? How would you improve?5 min

For System Design Problems

StepActionTime
RequirementsFunctional and non-functional requirements5 min
High-Level DesignComponents, data flow, API design10 min
Deep DiveCritical component details, algorithms, data structures15 min
Scale & ReliabilityScaling strategy, failure handling, monitoring10 min
TradeoffsAlternative approaches, cost analysis5 min

What Success Looks Like

After completing your chosen lists, you should be able to:

  • Recognize a problem's pattern within 2-3 minutes of reading it
  • Articulate multiple solution approaches and their tradeoffs
  • Write clean, correct code for any medium-difficulty problem in under 25 minutes
  • Design an end-to-end ML system with clear component boundaries in 35-40 minutes
  • Discuss ML concepts with depth and nuance, connecting theory to practice
  • Handle curveball questions by decomposing them into known patterns

:::note The Compound Effect Every problem you solve adds to your pattern library. After 50 problems, you start recognizing families of problems. After 100, you can decompose most novel problems into known sub-problems. After 150, interviews start feeling routine rather than intimidating. Trust the process. :::

Next Steps

Start with The Core 50 -- the 50 problems every AI/ML candidate should master before anything else. These form the foundation that all other lists build upon.

If you already feel strong on fundamentals, jump directly to your role-specific list:

© 2026 EngineersOfAI. All rights reserved.