LeetCode
Working the NeetCode 150, one topic at a time.
Interview prep is the part of this job nobody does for fun, so I treat it as training rather than studying: a topic at a time, in the order NeetCode lays the roadmap out, because the order is the point. Sliding window is easier after two pointers. Graphs are easier after trees. Skipping ahead to whatever looks interesting is how you end up with a hundred solved problems and no idea which pattern you are looking at.
The list I am working is the NeetCode 150. What I like about it is that it is finite. Grinding an unbounded queue of problems is a good way to feel busy and measure nothing, whereas a fixed list has a bottom, and every problem is a row that either has a tick or does not.
The shape of my progress is honest about what I have avoided. The fundamentals are closed out: arrays and hashing, one-dimensional DP and greedy are all finished, and the middle of the list is nearly there. Tries I have not started. Math and geometry I have barely touched, because it is the one section that is less about a data structure than about spotting the trick. Those two are next precisely because they are the ones I would rather skip.
The other gap is louder. I have not solved a single hard, and every one of the 21 on the list is still open. That is not an accident of scheduling. Mediums are comfortable now and hards are not, and staying where it is comfortable is how the curve flattens. Clearing the two thin sections first, then starting on the hards, is the plan.