Start here. This is the direct spoken answer to practice first.
Why this question matters
Duplicate submits are a perfect full-stack interview problem: the UI can reduce the chance, but only the backend can guarantee correctness.
I would disable the submit button or show a pending state while the request is in flight, but I would not rely on that as the only protection. The API needs duplicate-safe behavior through idempotency keys, unique constraints, or natural duplicate detection. If the same operation is retried, the server returns the original result instead of creating a second record.