Draw the lifecycle of an order. Which transitions are illegal?

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 asked who uses it before naming what you would build it with.

The situation behind the question

The online store's orders table has a free-text status column. Values seen in production include "paid", "PAID", "shipped", "cancelled", "refunded", "paid-then-cancelled" and "". A support engineer asks whether a shipped order can be cancelled. Nobody knows.

React to this

Say what you would question, what you would keep, and what you would need to know first.

The decomposition, the proposal, or the transcript as it stands
SELECT status, COUNT(*) FROM orders GROUP BY status;  (illustrative)

  paid                 41,208
  shipped              38,117
  PAID                    912
  cancelled             2,004
  refunded                366
  paid-then-cancelled      19
  delivered            35,540
  (empty)                  77
  Paid                      3

What it is really testing

Whether the candidate can discover state from what changes over time, draw the machine, and — the useful part — say which transitions must be impossible and how to make them impossible rather than merely discouraged.

Where the move is taught