I would like to know how everyone here at HN prepare them selves for a technical interview? I know that reading Skiena's and CLRS book again is one also try to solve problems in papers in paper is another good one. Mind sharing the tips and how much time do you actually spend in preparing this?
The best preparation doesn't involve studying detailed test examples or cramming about the fundamentals you have become a bit rusty on since your University CS days.
The ultimate prep for a tech interview or any interview for that matter is plenty of rest, reasonable research on the company you are interviewing with and getting a clear understanding of their expectations for the role you are applying for.
Tech interviews aren't designed to test how much study and preparatory work you can do, the most effective Tech interviews are designed to find out what your general competency is with specific technologies and what sort of coder personality you align to. The tests aren't designed to find out how good you are in one specific circumstance, they want to gauge what calibre of code you will produce should you work for them on a daily basis.
My advice: Get plenty of rest, stay calm, do your best on the day and if you failed miserably then chances are you avoided joining a company where the level of expectation would have led to unnecessary stress and pressure down the line.
I'm very curious to see the other answers to this, myself. Some things I've learned so far:
1. Different companies often have very different interview strategies. If you're interviewing with Google or Microsoft, you need to be mentally on your toes and able to solve programming problems and maybe some puzzles. If you're interviewing for a developer position at a large bank, the experience is completely different.
2. Don't focus on getting "the right answer" to the exclusion of everything else. You're not taking a standardized test--you're talking to a human being. Sometimes demonstrating interest will take you farther than being able to answer correctly all the obscure questions that get thrown at you.
If there's anything to take away from this in terms of how to prepare, I'd say its that being alert and engaged is just as important as knowing your stuff. Staying up the night before trying to memorize design patterns is likely to be counterproductive.
Sometimes I'll skim the documentation on a certain technology if I expect I'll be asked on it, but most of the time I don't really do any sort of preparations. My experiences cover a lot of the technical questions I'm asked, so I usually have a quick answer.