If I think I'll be writing C then I spend a little time re-reading "The Dictionary of Standard C" by Rex Jaeschke and "Hacker's Delight" by Henry Warren so I'll be able to immediately explain what SIG_ATOMIC_MAX means or what (x & (x-1)) accomplishes.
If there's a likelihood that I'll be doing any network programming then I'll spend a little quality time reviewing the BSD sources and perhaps re-read my Richard Stevens books so that I'll be able to clearly explain stuff like Nagel's Algorithm (and when it's not a good idea).
If I think I'll be looking at a database then I'll review Gray and Reuter's "Transaction Processing" so that I'll keep my SERIALIZABLE, READ COMMITTED, REPEATABLE READ and CURSOR STABILITY straight. If I think they'll want me to do something on the back of an envelope then I'll re-read Jon Bentley's "Programming Pearls" and there's any chance I'll need to actually think about an algorithm (!) then I'll review Skiena's "Algorithm Design Manual".
I like to also do a few of Raymond Smullyan's puzzles, just in case I end up in an interview with one guy who always tells the truth and one guy who always lies...
1. Programming Interviews Exposed 2. Career Cup interview Guide by Gayle Laakman (www.careercup.com)
I had to prepare for interviews and didn't have much time. I spent a few days going through each one of them--marathon studying did really well as a result. I remember beingasked questions several times and I almost felt like telling the interviewer, do you want to blindfold me and tie my hands behind my back to make this a little more challenging? :)