I have written quite a bit about how broken software interviews are. I found a good write up on other suggestions for interviews. I think the best suggestion is:
Let me offer a humble proposal: don’t interview anyone who hasn’t accomplished anything. Ever. Certificates and degrees are not accomplishments; I mean real-world projects with real-world users.