One of my valuable skills according to a previous employer was my "google fu" - or my ability to condense any problem into something searchable and come out with a working solution.
This covered everything from design patterns to failing SSD's to static init order problems in C++ to arm assembly instructions...
Sadly every interview I've been in usually involves being a human compiler and key/value store for algorithms rather than being a human problem solver.
Every interview I do is the opposite of that. I basically do a screen share/stare over the shoulder as I try to get them to implement toy features programs. I see how they solve things and their thought processes. Stack overflow is often involved. It's about the closest thing I can think of testing for a real work environment.
Other co-workers do the algorithms KVS stuff and classic concurrency quizzing although. We need both.
Now I'm trying to think how I can interview people for coding design decisions & wisdom. Like religiously following the Don't Repeat Yourself principle or other things out of the pragmatic programmer. You can be an algorithm KVS star and still do stupid shit like that. All I have is hints, like 'sorry for this copy paste but I only have 10 minutes left, normally i wouldn't do this'.
I'm really starting to understand the damage bad coders can cause to a code base attitude that google has. It can create a 5 people shoveling more shit than you can shovel out at a time situation that you really want to avoid.
This covered everything from design patterns to failing SSD's to static init order problems in C++ to arm assembly instructions...
Sadly every interview I've been in usually involves being a human compiler and key/value store for algorithms rather than being a human problem solver.