Earlier quoted context omitted.
> Each time I sit down to brush up on the details of Prim's algorithm or the exact implementation of quicksort, my eyes glaze over and I start thinking about how I'd much rather be building or tinkering with something. So that's what I end up doing. Nailed it. Another interesting thing I noticed about myself in technical interviews is that I have a lot of trouble doing things that I would have no trouble with if I'm…
>I'd rather spend my time tinkering with stuff than preparing for interviews If we're talking about raw programming skill, I would say that actually learning these fancy algorithms will pay off more than (random) tinkering. It's the difference between directed and undirected practice. Undirected practice only takes you so far. To truly get good at something one must do deliberate, directed practice consistently.
I've learned many algorithms and implemented most of the ones I've learned, but if I haven't recently coded them repeatedly or studied them rigorously, I likely won't be able to code them up on the spot when asked to. But because I learned them in the past, I would be able to recognize which algorithm (from the ones I've learned) best suits the problem.