Which coding interview problems do learners fail most?
Every time a learner pressed Check on AlgoCademy, March 2020 to November 2026. Free to use with a link.
- Code checks
- 1,164,307
- Learners
- 38,094
- Checks that fail
- 43%
- Pass Two Sum on the first try
- 26%
Alone, 23% pass an interview problem on the first try
A learner’s first full solution, written without our step-by-step guide. 73% get there in the end.
- Number of IslandsGraphs · 114 learners4%25%
- Longest Consecutive SequenceSorting · 67 learners4%66%
- Maximum Sum SubarrayPrefix sums · 343 learners11%61%
- Find DuplicatesHash tables · 90 learners11%87%
- Longest Subarray Without Repeating ValuesBrute force · 98 learners11%65%
- Pair CountBrute force · 81 learners14%85%
- Post Order Tree TraversalBinary trees · 70 learners16%73%
- Palindrome CheckStrings · 80 learners20%59%
- ZigZag Tree TraversalBinary trees · 120 learners23%74%
- Reverse StringStrings · 90 learners24%86%
- Two SumBrute force · 512 learners26%75%
- Distinct ValuesSorting · 80 learners28%88%
- Remove Duplicates from ArrayBrute force · 178 learners30%81%
- Smallest KSorting · 347 learners38%77%
- Binary Strings Without Consecutive OnesDynamic programming · 62 learners56%89%
- Binary Strings of Given LengthDynamic programming · 126 learners69%92%
Problems with at least 60 learners. A check passes when the code passes every test. The margin of error is 3 to 12 points per row.
- Two Sum: 26% pass on the first try, 75% in the end (512 learners).
- Number of Islands: 4% on the first try, and only 25% ever pass it alone.
Graphs and binary search fail most
The same first tries, grouped by topic.
- Graphs175 first tries6%
- Binary search72 first tries7%
- Intervals70 first tries9%
- Two pointers95 first tries9%
- Prefix sums514 first tries11%
- Hash tables129 first tries12%
- Linked lists68 first tries16%
- Binary trees310 first tries19%
- Backtracking77 first tries22%
- Strings217 first tries22%
- Brute force926 first tries24%
- Sorting520 first tries31%
- Dynamic programming425 first tries48%
Topics with at least 60 first tries. A topic’s number depends on the problems we teach in it: our dynamic programming chapter opens with two gentle counting problems.
In small steps, 70% of first tries pass
The same interview problems, built a few lines at a time with our step-by-step guide.
- Whole solution, alone
- 23%
- of 3,763 first tries pass
- One guided step at a time
- 70%
- of 137,846 first tries pass
94% try again after a failed first try
65% of them reach a passing solution. Of everyone who passed, this is the try that did it:
- 1st try31%
- 2nd17%
- 3rd11%
- 4th8%
- 5th6%
- 6th4%
- 7th4%
- 8th3%
- 9th2%
- 10th or later13%
2,758 solved problems, interview topics, without the guide.
In Java, 64% of failed checks never run
All 501,504 failed checks, beginner lessons included, by what went wrong.
- Python234,889 failed checks45% wrong output or too slow, 55% crashed while running
- JavaScript89,472 failed checks53% wrong output or too slow, 47% crashed while running
- Java105,114 failed checks33% wrong output or too slow, 3% crashed while running, 64% didn’t compile
- C++72,029 failed checks45% wrong output or too slow, 2% crashed while running, 53% didn’t compile
Python and JavaScript have no compile step, so their typos count as crashes.
- First tries alone that pass: C++ 32%, Python 22%, JavaScript 18%, Java 14%. This says more about who picks each language than about the language.
The hardest beginner lesson: joining two strings
28% of learners fail their very first check. These Python lessons have the lowest first-try pass rates.
- String Concatenation3,446 learners21%
- Price After Discount1,908 learners26%
- Find Discount639 learners35%
- Variable Reassignment3,355 learners44%
- Intro to Strings10,243 learners47%
- If Statements1,956 learners49%
- Printing to the Console12,402 learners56%
- Maximum Value and Number of Occurrences1,155 learners56%
Lessons with at least 500 learners.
Method and limits
What we counted
- 1,164,307 checks by 38,094 learners on 430 lessons and problems, in Python, Java, JavaScript and C++, from March 2020 to November 2026.
- A check runs the learner’s code against our tests. It passes only when every test passes.
- “Alone” means without the step-by-step guide, by learners who hadn’t used the guide on that problem before. Untouched starter code isn’t counted.
- “First try” is a learner’s first such check on a problem. “In the end” is any later passing check.
- Margins of error are 95% Wilson intervals. They are in the files below.
What it can’t tell you
- These are people learning on AlgoCademy, many of them beginners. They aren’t a sample of working engineers.
- Learners choose which problems to try, so each row has a different group behind it.
- A learner may have read a hint or seen the problem elsewhere before a first try.
- Our tests include large inputs. The grader reports a wrong result and a too-slow one as the same failure.
- Problem names are ours. Maximum Sum Subarray is the classic maximum subarray problem.
Use this data
Free to quote, chart and republish with a link to this page (CC BY 4.0). Counts only: no learner’s code or identity is in the files.
Files (CSV)
Cite as
AlgoCademy (2026). Which coding interview problems do learners fail most? Data from 1,164,307 code checks. https://algocademy.com/research/
Need another cut of the data? team@algocademy.com
FREE. NO CARD NEEDED.
Try Two Sum
yourself.
In your browser, step by step or on your own.