LeetCode is Dead (And AI Killed It)
I've done over 200 LeetCode problems. Mediums, hards, the whole thing. Two-sum to merge-k-sorted-lists. I can do sliding window, dynamic programming, binary search on rotated arrays. I've got the patterns memorized.
And it's all completely useless now.
ChatGPT solves LeetCode mediums in seconds. Claude handles hards without breaking a sweat. The entire premise of the technical interview—that these problems test something meaningful—is obsolete.
The LeetCode Industrial Complex
We created an entire industry around fake work. There are bootcamps that teach nothing but LeetCode patterns. Websites dedicated to memorizing solutions. People spend months grinding problems they'll never encounter in actual development.
The ostensible purpose: filter for "smart" candidates who can "think algorithmically."
The actual result: we select for people who have time to grind and access to study materials. It's a proxy for privilege, not ability.
But at least it was a test that humans had to actually solve. The problems weren't in the training data... until they were.
When the Test Answers Are Public
Every LeetCode problem—and I mean every single one—is in the training data of every major LLM. The solutions are memorized. Type the problem name into ChatGPT and get the optimal solution with explanation.
# Problem: Two Sum
# ChatGPT's answer (0.3 seconds):
def twoSum(self, nums: List[int], target: int) -> List[int]:
seen = {}
for i, num in enumerate(nums):
if target - num in seen:
return [seen[target - num], i]
seen[num] = i
return []It's not just the easy ones. I watched GPT-4 solve a hard dynamic programming problem in the time it took me to read the prompt. With comments. With time complexity analysis. With alternative approaches.
The test is compromised. The answers are available to anyone with an internet connection.
What Were We Testing Anyway?
The dirty secret of LeetCode interviews: they test how much you've practiced LeetCode.
"But it shows problem-solving ability!" No, it shows pattern recognition for a specific set of problems. The skills transfer poorly to actual software development.
When was the last time you implemented a LRU cache at work? Or reversed a linked list? Or found the longest palindromic substring?
Real development is:
- Reading existing code
- Debugging production issues
- Making tradeoffs between speed and maintainability
- Communicating with stakeholders
- Understanding business requirements
None of this is tested by reversing a binary tree on a whiteboard.
The AI Interview Cheat
Here's what's already happening: candidates are using AI during interviews.
Screen sharing? They've got a second monitor. Phone interview? They're pasting into ChatGPT. Take-home assignment? It's written by Claude with minor edits.
I know people who've done this. They passed. They got the job. Some of them are good developers who just refused to play the LeetCode game. Some of them are terrible developers who slipped through.
The system is broken, and everyone knows it.
What Actually Works
If we want to hire good developers, we need to test things AI can't easily fake:
Code review exercises: Give them a real (anonymized) pull request from your codebase. Ask what they'd change. This tests actual development skills—reading code, spotting issues, communicating clearly.
System design for real problems: Not "design Twitter." Give them a simplified version of a problem your team actually faced. See how they think through constraints and tradeoffs.
Pair programming: Actually code with them on something real. You'll learn more in 30 minutes of pairing than 2 hours of whiteboarding.
Debug challenges: Here's a broken piece of code. It should do X but does Y. Fix it. Debugging is a core skill, and AI is surprisingly bad at it.
Past project deep-dives: "Tell me about the hardest bug you've debugged." "What's a technical decision you regret?" These questions reveal actual experience.
The Hiring Pipeline Needs an Overhaul
Current pipeline:
- Resume screen (biased toward prestige)
- Phone screen with LeetCode easy (tests LeetCode practice)
- Onsite with LeetCode mediums/hards (tests more LeetCode practice)
- Maybe one "behavioral" round (ignored by technical interviewers)
- Offer
Better pipeline:
- Resume screen (yes, still biased, but we work with what we have)
- Short practical exercise relevant to the role (review code, debug something, write a feature)
- Pair programming session on real-ish work
- System design discussion with actual constraints
- Meet the team (do people want to work with this person?)
- Offer
Notice what's missing: algorithm puzzles, whiteboard coding, and the theater of "can you invert a binary tree?"
The Skills That Actually Matter
You know who I want to hire?
- Readers before writers: People who read and understand existing code before adding their own
- Debuggers: People who methodically track down problems instead of guessing
- Communicators: People who can explain complex technical concepts simply
- Pragmatists: People who ship good enough today instead of perfect next month
- Learners: People who admit what they don't know and figure it out
None of these are tested by LeetCode. Most are actively selected against—the "best" LeetCode performers optimize for clever solutions over readable ones.
The Resistance Will Be Loud
I know the objections:
"But FAANG uses LeetCode!" Yes, and they also have thousands of applicants per role. They need filters. Their filters are broken for everyone else, but scale makes it work for them.
"How else do we filter candidates?" See above. Test skills that matter.
"We can't change our process overnight." Then change it tomorrow. Literally just swap one LeetCode round for a code review exercise. One change. See what happens.
The Future of Technical Interviews
The companies that figure this out first will have a massive advantage. They'll attract candidates tired of the LeetCode grind. They'll hire for actual ability instead of test-taking skills. They'll build better teams.
The companies that cling to algorithm puzzles will get what they deserve: candidates who memorized solutions and can't ship software.
LeetCode had a good run. It made a lot of money. It gave anxious developers something to optimize. But its time is done. The test is compromised. The answers are public.
It's time to actually test what matters.
---
Still grinding LeetCode? Your time is better spent building something real. The interviewers who matter will notice.