There's a big difference between software development job interviews and job entrance exams that is often not evident on people who aren't deeply immersed in software culture.
Interviews happen in every industry. An interviewer asks about your interest in the company, your background, your leadership skills. Your technical skills may be investigated here, but in a discussion format. You may be asked questions about your knowledge of a database or perhaps a programming language, but you won't be tested specifically on that language.
Then there's the technical "interview" that is really an exam. Google's interview is a good example of this. You go up to a whiteboard, and the interviewer says "write a method to convert an integer to binary. Now add and subtract in binary. How would you square a binary number". You should be writing code on the white board, in either a real language or very tight pseudocode, to do this. Alternatively, the interviewer might ask you to find your way out of a maze, probably through some kind of graph traversal algorithm. Again, you really do need to write code that solves the problem.
This style of interview is indistinguishable from an exam. I think it exists because programmers don't have an actual exam in their field. It might be similar to asking a senior actuary to find the linear span of a vector space. There was almost certainly a time when the actuary could do this, since the actuary took an entrance exam on vector calc and linear algebra, but it isn't something a senior actuary most likely walks around ready to do. It would require re-studying.
As a few others have pointed out on this thread, there's a difference between studying for an exam and prepping for an interview. I've resolved not to do the latter anymore, but I really may simply not have that choice. The practice is deeply entrenched. But the former, of course I'd prep for an interview.
And also, you know, I actually think it's a good thing that lawyers take the bar, that actuaries take math exams. I don't think it's outrageous that people who hire programmers would want to know that these programmers have, at one time, passed an entrance exam on data structures and algorithms, binary operations, and so forth. The problem is that because we don't have such an exam in our field, we have to take a random and often unexpected version of it, under conditions of secrecy, with no feed back, evaluated by people who may not be qualified and who can be captious and arbitrary in their assessments.