Too Long; Didn't Read
The interview process is a two-way street: it's a two way way of evaluating candidates. Let the candidate choose the programming language, let them work in the environment they are most comfortable in. Encourage pragmatism and encourage the candidate to bring their laptop in to work on the project. The ideal question is where the interviewee is deeply familiar with how the web server works, but unlikely to have implemented it themselves. The best way to evaluate candidates is to pair up an engineer with a candidate for an hour and a half and give them a project.