When I was interviewing candidates at a company that didn't have a structured interviewing process, I used to ask people to write "the world's shittiest JSON encoder." What that is is a very limited JSON encoder that could handle strings, numbers, None, dicts, and arrays, without regard to performance, on their laptop or a loaner, with full access to the internet, and a pinky promise that the candidate wouldn't just look up "how to write JSON encoder," or anything similar.
I would give the problem in stages, starting with primitive types and working up to arrays and dicts. If we finished that, we could talk about other stuff, like how to write the world's shittiest JSON encoder, adding additional types, testing, and maybe a little optimization.
I thought it was a good problem, and we got a good candidate or 2 out of it through interview loops I participated in.
There were lots of twists and turns to the problem, but it wasn't some commonly asked question like LRU cache, and it didn't demand a lot of code.
I assume you wouldn't have classified me as a "hazer," right?
The idea that anyone should be able to solve a problem like this in 45 minutes as a demonstration of their skill as a software engineer is just ludicrous. If you can solve this problem it means you have studied this or similar problems. All it means is that you have the luxury of study. This has almost nothing to do with being a software engineer.