Anytime I'm a little unclear or need a refresher on a sorting algo or how a data structure is implemented, I've found CLRS to be an extremely useful resource. It has been a life saver in my algorithms class (undergrad)...I think it works best as a supplement to lectures and exercises you would encounter in any data structs/algo class. It's especially useful for exam practice. I would guess that the exercises would also be really helpful practice for job interviews..But its not the kind of book I'd sit and read cover to cover.