How do you decide whether a failure should be an exception, a returned error value, or something the type system forces the caller to handle?
Answer it out loud before you open anything. The value of the flags below is in comparing them to what you actually said — including whether you named a cost, or only a principle.
The situation behind the question
A payment endpoint currently throws for everything: card declined, provider timeout, invalid amount, and a null dereference in the discount calculator. The controller catches Exception at the top and returns a 500. Support cannot tell declined cards from outages.
What it is really testing
Whether the candidate classifies failures before choosing a mechanism. The mechanism question is downstream: the real skill is separating expected business outcomes from validation, dependency failure and bugs, and knowing that each wants a different treatment.