Your question is At-Least-Once vs Exactly-Once. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
How do you design a system to guarantee "at-least-once" vs. "exactly-once" delivery of messages in a distributed event-driven architecture?