←back to thread

178 points henwfan | 1 comments | | HN request time: 0.001s | source

I built AlgoDrill because I kept grinding LeetCode, thinking I knew the pattern, and then completely blanking when I had to implement it from scratch a few weeks later.

AlgoDrill turns NeetCode 150 and more into pattern-based drills: you rebuild the solution line by line with active recall, get first principles editorials that explain why each step exists, and everything is tagged by patterns like sliding window, two pointers, and DP so you can hammer the ones you keep forgetting. The goal is simple: turn familiar patterns into code you can write quickly and confidently in a real interview.

https://algodrill.io

Would love feedback on whether this drill-style approach feels like a real upgrade over just solving problems once, and what’s most confusing or missing when you first land on the site.

Show context
emaro ◴[] No.46207097[source]
I feel like this is a bit backwards. It seems to be an improvement over just grinding LeetCode, but I'd never work for a company expecting me to spit out LeetCode solutions quickly (recall). If they give me a LeetCode style problem and want to see how I approach this, what I know, how I deal with what I don't, then it's fine. But I think neither LeetCode or AlgoDrill are needed for this.

Or to put it another way, if I give some applicant a coding problem to solve, and they just write down the solution, I didn't learn much about them except they memorized the solution to my problem. That most likely means I gave them the wrong (too easy) problem. It will only increase the change of me hiring them by a tiny bit.

Edit: I don't hate the player, I hate the game.

replies(1): >>46207219 #
1. notepad0x90 ◴[] No.46207219[source]
this type of stuff is generally for interviews. But it does tell you that the candidate has learned the patterns in question. That particular solution isn't important, but knowing good design patterns to solutions is. Knowing how a decent number of problems are best solves gives them a good intuition of how to tackle problems. Otherwise, they would tackle it using their intuition/vibes. There are books one can read to learn this stuff as well I'm sure, but how do you prove what knowledge you've retained?

10 programmers will write 10 different ways to solve a simple problem. and that code is tech-debt other programmers have to maintain at some point. Just having coders that have the same base-level memorized problem solving patterns can ease that pain, and it can make collaboration/reviews easier down the road.