It's always been pretty random for me. I've been asked puzzle questions, to come up with my own idea and implement in their codebase, had interviewers who couldn't answer questions about their own puzzles, and been given automated code tests with invalid test cases.
Tech companies conduct interviews like 5-year-olds play soccer - everyone chasing the same prize with the same myopic strategy. And it's not that it can't be done better, but that everyone is afraid to take any _risk_ in order to improve it (if we don't chase the ball, someone else will get it and we won't!). No matter how broken the current system gets, we muddle through somehow and chalk it up to necessity (how else would you find good engineers?). Then we try to forget the whole thing even happened until we end up looking for a job again.
Tech companies conduct interviews like 5-year-olds play soccer - everyone chasing the same prize with the same myopic strategy. And it's not that it can't be done better, but that everyone is afraid to take any _risk_ in order to improve it (if we don't chase the ball, someone else will get it and we won't!). No matter how broken the current system gets, we muddle through somehow and chalk it up to necessity (how else would you find good engineers?). Then we try to forget the whole thing even happened until we end up looking for a job again.