The best interviews, and the best places I've ended up working, are the least-technical. A simple free-form conversation in a casual environment (over coffee, lunch, beer, whatever) is sufficient. Talk shop. Geek out about something. If you can joke with the interviewer about how annoying it is that Docker Swarm punches holes in your firewall; playfully debate Vim vs. IDEs; have an opinion on the quality of open source web frameworks in Go vs Python; have a favorite Linux shell; can relate a horror story migrating a UI from React to Vue; etc., then I'm going to learn a whole lot more about you than I'd ever learn in a formal interview. Gotcha questions, whiteboarding, hypothetical situations, etc. rarely demonstrate much actual experience writing software. The bulk of the work that most developers do doesn't involve inventing anything; it's usually just wiring things together.<p>If you've got a specific, narrow skill that you're hiring for, then you might need to get more technical, but you should have vetted that already by selecting your candidates from a PhD program or a prior successful job where you're already familiar with their research.<p>If you're hiring someone right out of undergrad, there's no technical interview that's really going to help. You just need to find someone smart and motivated to learn, and a casual conversation is better for that as well.