I'm completely in favor of randomized interview questions. My personal favorite approach is a two-way interview. You get to ask a technical interview question of the person you're interviewing with. If they ask you a ridiculous question, they get hit with a ridiculous question also. As an employer you could monitor this and see if you're employees are giving unfair questions to candidates they can't answer themselves. It would also be a good idea for HR to record all of these interviews so they can have someone knowledgeable judge the interview process and track the performance of new hires versus the questions they are asking. If the interviewer starts having problems answering their own difficulty level in questions then maybe they should be looking for a new job also. I was once asked a ridiculous question and threw an interviewer off by asking them how many times they had actually implemented something like they were asking, they stopped talking immediately.
My personal opinion is that all of this should be scrapped in favor of seeing what the person has produced and having them partially implement a solution of something they have written in the past. It is a virtual impossibility that anyone could work on a project of any sort without being able to sit down for an 8 hour interview where they are responsible for partially re-creating something they have worked on in the past. To this day I still remember large parts of source code I've worked on 10 years in the past.