A company that cannot come up with a better more interesting process isn’t somewhere I want to work.
How about making the questions broad enough for every candidate to have some input and evaluate them on what they choose to focus on? Something like, “How would you design an ATM?”
There should never be a right answer to an interview question, just a candidate that solves problems in a way that fills a gap in your company.
1 is included in at least Google interviews. 3 requires that you hire for a specific tool/language use, most programmers are able to learn new tools and languages in the time time periods that are hired for.
I'd like to do more of 2, understanding, debugging, fixing and refactoring code is, in my experience, more of the day to day work than writing entirely new code. I don't know why this is not typically part of interviewing, maybe there's some reason it doesn't work? It would be interesting to see a more comprehensive evaluation of this approach.
How long do you think it would’ve taken you to prepare and ace these kinds of coding interview questions? (I bet less than 100 hours.)
But I’m more interested in the following: what interview process do you think would have correctly (and reliably) evaluated someone with your profile?