American Express · Primly Community

American Express senior system design interview, what to expect and where people stumble

corp_refugee · 4 replies

Did the amex senior SWE loop about two months ago, system design round specifically. Sharing notes for anyone prepping.

First: amex is NOT trying to hire staff engineers from FAANG and stress-test them with distributed systems puzzles at scale. The bar is real but it's calibrated differently. Think: solid, production-aware, pragmatic design. Not "how do you handle 10 million writes per second."

The question I got was to design a payment authorization service. Classic fintech territory. What they actually cared about: Idempotency. Not just knowing the word. I had to explain how to implement it end-to-end across retries and network failures. This went deep. Failure modes. What happens when the downstream fraud detection service is slow or unavailable. Do you degrade gracefully? Queue it? Fail closed? They pushed on this a lot. Data consistency. Strong vs. eventual, and when each is appropriate for financial transactions. I said "strong consistency, always" and they pushed back. Nuance matters. Observability. They asked specifically about alerting and how you know something's wrong before customers call.

What they didn't care much about: exact choice of message queue (Kafka vs. SQS, whatever), frontend details, or scale math at Google-level numbers.

The interviewer was an experienced SWE, not a manager. She was collaborative and would give hints if you were heading somewhere unproductive. Felt more like a "help me understand how you think" conversation than a gotcha.

45 minutes total. I'd suggest spending the first 8-10 minutes clarifying requirements before drawing anything. They seemed to appreciate that I asked about SLA targets upfront.

Leveling note: this was for a senior / roughly L5-equivalent role, not staff. The design expectations probably step up for a principal interview but I can't speak to that.

4 replies

backend_bekah

The idempotency piece is so real for any fintech system design. I've seen people blank on it even when they know the concept. Basically: idempotency key, dedup store with TTL, check-before-write. Once you drill that flow it comes out naturally.

corp_refugee

Exactly right. And the amex interviewer specifically asked what the dedup store looks like (Redis was my answer), TTL length, and what happens when the TTL expires on a request that's still in flight. It got specific fast.

numbers_only

Good framing. Amex SD bar is similar to Capital One or Discover senior -- higher than community bank fintech, lower than Stripe or Square. Reasonable place to land for someone solid who doesn't want to constantly re-prove themselves.

veteran_vance

I actually liked the framing of 'production-aware, pragmatic.' That's the kind of engineer I am after years of working with systems that can't go down. Going to apply this lens to my own prep.