I've both helped hire people and have been a hiring manager, as well as the hot-shot programmer and now becoming the wise gray-beard everyone speaks reverently to and then ignores.
When I interview a candidate on the phone, my primary interest is to screen out the candidates who are either obviously lying on their resume, or who have inflated their resume or are otherwise uncommunicative. (You'd be amazed at how many are unable to hold a conversation about the stuff they've supposedly worked on for a couple of years. Almost as if they put it into their resume just to inflate it. And I feel free to go through any part in the resume; for example, I dinged a guy because he put in his resume he was a private pilot. Having a father who was a pilot and learning to be a pilot myself, I asked him questions related to his being a private pilot--which he utterly failed to answer. And if you're willing to lie about something that irrelevant, what else are you lying about?)
In person, however, I may ask a couple of questions about the specific work I'm doing. But for the most part I stick to straight forward development questions: I ask the person to solve a problem which requires a loop, to walk a linked list, to search for primes. What I'm looking for, however, isn't if the person is a mathematician, but how he solves the problem: does he automatically close the curly brace when he writes the open curly brace at the top? Does he store intermediate results somewhere, and how does he chooses to store them? Does he use any naming conventions in his sketched out code? When he gets stumped, how does he talk to me about solving the problem? Does he come up with anything I hadn't thought of?
And that's because I'd rather hire someone who seems smart and communicative and who can sketch code on the fly than someone who may happen to know about public/private key systems.
My theory is that specific problems that revolve around the web site can be learned on the fly: someone who is smart can look up how OpenSSL works, for example, and start implementing code against OpenSSL. But someone who has OpenSSL experience but who is otherwise unable to communicate effectively or solve problems on the fly is going to be useless as soon as we move on to other problems.
And my theory is the same regardless if you're hiring a beginner out of college or an architect with 20 years of experience; the architect I'll just ask much harder questions, as well as probative questions about the sort of design work he's done and the types of design problems he's had to face.
In terms of quality, I've found that roughly a quarter of the people I interview I'd happily work with, but for architectural level stuff, it's hard to find someone who is really good. That's because software development seems to weed people out after 10 to 20 years--and many who survive that long do so out of inertia, not because they're really good at what they do. So if you want someone with 20 years of experience who can architect something complex and get it right the first time--you're going to be looking a long time.
(And if you happen to be hiring in Raleigh, North Carolina and are paying above competitive rates for a first rate architect and developer, send me a private message. :-D )