in reply to OT: Computer Science for (a couple steps up from) Dummies
During a long-term job search of my own, I managed to secure an interview with a great recruiter from Amazon who suggested studying for the interview with "Cracking the Coding Interview". The book was great, I learned a lot that I hadn't come across prior, and it opened my eyes to new ways of thinking about problems. I didn't get the job (nor the next interview with Amazon), but still, the book was great, and fits pretty much exactly with the question you're asking.
Not quite "a couple steps up" - but since they actually drag you through the solutions to the questions in great detail, it probably will work for you.
(After the search, I ended up at a place I was less than thrilled with, but managed to get a better gig just a month or so ago, and am enjoying myself again. I don't know that the book helped me end up where I am, but I think it did, and, if not, I'm a better programmer because of it.)
Best of luck!