Bank of America · Primly Community

Bank of America senior / L5 system design interview: what to expect and what tripped me up

infra_ines · 4 replies

Just got out of the BofA system design round for a senior software engineer role (equivalent to what other places call L5 or E5). Wanted to post while it's fresh.

The prompt was something like: design a payment notification service. Real-time alerts to customers when their card is charged. Sounded simple. It's not.

What they're actually testing, at least in my round: How you handle fan-out at scale (many users, many channels: push, SMS, email) Reliability and idempotency. Banking context means they care a lot about "what if a notification fires twice?" They explicitly asked how I'd prevent duplicate alerts. Failure modes. What happens if a downstream notification vendor (Twilio, etc.) goes down? Retry logic, dead-letter queues, circuit breakers. Latency vs. consistency tradeoffs. I got asked directly: "would you sacrifice a second of latency to guarantee delivery?" There's no right answer, they want your reasoning.

What I probably handled poorly: I dove into the schema design before establishing the scale requirements. Interviewers stopped me and asked "how many transactions per second are we talking?" Lesson: start with capacity estimates before jumping to design.

Round was 60 minutes. First 10 were requirements clarification, which I should have leaned into more. Next 30 were whiteboard-style design on a shared Miro board. Last 20 were them poking holes.

Leveling context: the recruiter said senior means you're expected to own the design end-to-end and proactively surface trade-offs. If you wait for them to ask the trade-off questions, you're probably not passing at senior level.

Prep that helped: I went through a distributed systems design primer and did a few payment-domain design exercises. The banking context means compliance and audit logging come up a lot.

4 replies

sre_sol

The idempotency angle is real. Any financial system interview where you don't proactively bring up idempotency keys and at-least-once vs. exactly-once delivery... you're going to get grilled. Glad they flagged it. It's table stakes in fintech.

careerveteran

The 'start with capacity estimates' note is something I coach everyone on before system design rounds. It's not just BofA. Interviewers want to see that you've thought about the constraint space before you start drawing boxes. Sounds obvious but most people skip straight to architecture.

newgrad_neil

Do they give you numbers or do you have to make up reasonable assumptions?

careerveteran

You make assumptions and state them clearly. That's part of what they're evaluating. Something like 'I'll assume 10M active customers, peak of 50k transactions per second' and then design for that. Adjust if they push back.