It mimics real life, which is why it’s part of the interview. You are never handed an exhaustive list of everything that could go wrong in code before you start coding. Experience tells you what to look for and what things you should handle gracefully, often because you’ve dealt with it before. Or you learn as you build and iterate towards handling things cleanly. All of the edge cases I mentioned in the original post happen in real life. I stand by the question.