The whole issue is a really weird mixed bag, where good interviewers struggle to weed out awful candidates without harassing strong ones.
"What is threading" actually doesn't bother me, because it's shockingly easy to find experienced backend devs who have no idea - even when they've used MapReduce!
The file I/O one is far more obnoxious, because low-level file interactions are so rarely a good idea in most languages. In general, the right way to handle that remains "scripting" right up until it becomes "framework". And if someone expects that file I/O as part of a larger problem, they should probably accept anything sensible-looking or offer you a couple of method names like "getTextLine" to avoid the whole issue.
The whole process is broken, certainly, but its broken on both ends.
"What is threading" actually doesn't bother me, because it's shockingly easy to find experienced backend devs who have no idea - even when they've used MapReduce!
The file I/O one is far more obnoxious, because low-level file interactions are so rarely a good idea in most languages. In general, the right way to handle that remains "scripting" right up until it becomes "framework". And if someone expects that file I/O as part of a larger problem, they should probably accept anything sensible-looking or offer you a couple of method names like "getTextLine" to avoid the whole issue.
The whole process is broken, certainly, but its broken on both ends.