Went through the amex virtual onsite last month for a senior SWE position. Four rounds, all on the same day via Teams. Here's the real experience.
The schedule was 9am to 1pm with short breaks. They sent a detailed calendar invite with each round labeled, which was actually helpful for pacing my mental energy.
Round 1: Coding (55 minutes) Two problems. One easy-medium that was clearly a warmup. One genuine medium: graph traversal with some business logic on top (think: finding the shortest path under a spending limit constraint, which felt very on-brand for a card company). I got through both with time for edge case discussion. The interviewer was friendly and gave hints when I was stuck.
Round 2: System Design (45 minutes) Mine was a card transaction notification system. If you've read other threads here about the amex SD round, the themes are consistent: idempotency, failure handling, latency vs. consistency tradeoffs. They asked specifically about push vs. pull notification architecture and how I'd handle a user who has their notifications turned off. Spent the first 8 minutes on requirements, which the interviewer seemed to appreciate.
Round 3: Behavioral (45 minutes) Hiring manager-led. Very structured STAR, they said it outright. Questions I remember: a time I navigated a technical disagreement with a peer, a project where I had to change direction mid-stream and how I communicated it. They probed pretty deep on outcomes and specifics.
Round 4: Leadership and Culture (30 minutes) Director-level. Less formal. Felt more like a conversation about what kind of environment I thrive in and how I handle ambiguity. One curveball: "what's a belief you held strongly about engineering that you later changed?" Good question, had a decent answer.
Total time: roughly 3.5 hours with breaks.
Turnaround: they said 5-7 business days for feedback. I heard back in 4 days. Offer came 2 days after verbal.