When recruiting software developers, how often are 'technical interviews' used to screen the candidates, and why is it beneficial? What are ways a software developer may prepare for the interview?
In my experience, every time, I cannot imagine a situation where you would not want to evaluate whether or not someone can actually do the job. How they are administered varies widely, from verbal problem solving to tackling programming challenges on a whiteboard, neither of which are particularly effective. The best way I have seen them administered is when someone has the opportunity to work on some kind of a small challenge that will in some way be similar to the work they would do if they were hired. Sometimes this is a 'take-home', sometimes its done on site as part of the interview process, but I'm a firm believer in doing some kind of practical evaluation to see if someone can, or has the potential to actually do the job. I think it's fine for candidates to ask what format the interviews will take (even if the answer is that the company is unwilling to disclose it) and as far as preparation goes, be proficient in the things you have told them you are proficient in.