I've seen a lot of complaints over the years about the white board interview. I've been subject to them. They're kind of terrible, I agree. Never in all my years of development have I had to write my own BST or manually implement Bubble Sort. Riddles... I hate riddles as just a point of life.<p>When I have to conduct interviews I do two things. The first is a sample project. Something with the minimum range of skill for whatever I'm interviewing for should be able to do in about an hour. For iOS development, implement a master-detail application using a table view and this file. Everything else is up to them. Impress me. Second, an oral examination of the technology. How does memory management work? What is protocol oriented programming? Nothing earth shattering.<p>But I've also heard a lot of people complain about the sample project. And I agree that requesting people check your commit logs or read your blog is time consuming.<p>So, how should a programming interview go?
After hiring hundreds of coders, I've learnt that motivation is 10x better than skills. A motivated coder will learn anything to succeed. So today I don't give a damn about interviews. Either you have a side project I like, or I try you out for two weeks and see how it goes. That's it.