I'm interviewing for Senior Staff roles and doing quality coding interviews and beyond the basics I'm not sure really what I'm supposed to ascertain from the format because it is so far removed from what is day to day important in the role.
I ask about time complexity, and all the basics, but it's just a bunch of malarkey. So I spend more time quizzing them about technologies I don't know on their resume and getting something out of it for myself. It's easy enough to tell when someone's full of shit, but asking them to describe the tradeoffs between the technologies they've worked with seems more valuable than watching someone sweat-ily cramming out some crap imperative code for a toy problem and telling me they got it down to nlogn. Oooo ee!
It might be helpful to look at this classic post by Joel Spolsky [0]. He discusses many of the points you brought up. I found it most helpful to pull out some of the principles he discusses and then ask "What would this look like when applied to [job in question]?"
I ask about time complexity, and all the basics, but it's just a bunch of malarkey. So I spend more time quizzing them about technologies I don't know on their resume and getting something out of it for myself. It's easy enough to tell when someone's full of shit, but asking them to describe the tradeoffs between the technologies they've worked with seems more valuable than watching someone sweat-ily cramming out some crap imperative code for a toy problem and telling me they got it down to nlogn. Oooo ee!