If you are interviewing, please by all means bring samples of your work and be ready to discuss them, if you possibly can. But some people come from places where they can't talk about what they did (like, literally, Federal law in some cases), or for some other good reason can't really substantiate what they did.
You also have to account for the fact that a lot of the ways of finding out what they did in the past are somewhat unreliable. Many past employers have their own reasons for not being forthcoming or entirely truthful. The interviewee is incentivized to exaggerate their claims. In this context it's hard to get very much solid information of the type you're asking for.
My preference is to see past accomplishments, then use the interview to substantiate that they are indeed your accomplishments and you were not just generally in the area of accomplishments that happened to be occurring. But alas, that's not always an option.
Interviews for electronic engineers consist mostly of talking about projects the candidate has worked on (for young people these might be college and hobby projects). The interviewer's questions are things like "what did you consider the most difficult part of that project?" or "What tools did you use for that?" or "why did you do it that way and not this other way?" No one has ever asked me to design something on a whiteboard, nor would they dream of asking me to rattle off the pinout of some random microprocessor.
The software company interviews I hear about sound more like someone being tested to prove they aren't lying about their qualifications than like adults discussing a business deal.
http://www.joelonsoftware.com/articles/FindingGreatDeveloper...
I'm just suggesting that when an applicant like this exists before you, it makes more sense (assuming you're happy with their accomplishments) to confirm that these are indeed their accomplishments than to try to cram in some ad hoc heuristic for determining their range of skills in an hour or two.
And if my peers are any indication, the reason it's become so hard to hire senior devs is that no one wants to go through the headache of the interview process anymore once you've reached a moderately satisfactory job situation.
And you can't figure those things out just by looking at a resume or by quizzing them for hours until they break. You have to actually talk with them. Engage them in conversation. Learn who they are and how they fit into this field. Learn about their past experiences and their future goals. Then the question as to whether or not to hire them is easy.
Resumes are a starting point. Previous knowledge is a time-saver. Problem-solving and motivation is where its at.
*As a side note, most of my interviews were 30 minutes or less. I only regretted one hire, and I got rid of him pretty quickly.
That means, no onsite interview processes that require taking vacation days to complete mostly. Or off hours interview processes.
Have you ever considered trying to find out and confirm what the candidate has done in the past, instead of the almost impossible task of finding out what they "can do" in a few short hours? Barring some major new life issue, a developer's past performance is highly predictive of their future performance.
Edit: Removed longish rant.