1. Design a payment processing abstraction that supports cards, ACH, and refunds. What interfaces would you create?
Interview promptStrong signal
Looks for clear boundaries, failure handling, idempotency, and avoiding inheritance-heavy designs.
Follow-up probes
- •How would you add a new provider?
- •Where do retries belong?
Red flags
- •Creates a deep class hierarchy.
- •Ignores transaction and failure states.