I'm pretty sure what you study or should be studying is data structures and algorithms and their application in most cases (for programming interviews). I don't think it's bad at all and in fact I should study up on these topics because I'm not as good as I'd like. It is extremely useful to roughly identify that the problem you work on is of a divide and conquer nature and that something quicksortish might be an interesting approach. I do remember from the last time I prepared algos that my overall thinking got a lot clearer.