Affirm · Primly Community

Affirm onsite debrief: what actually tripped me up

backend_bekah · 5 replies

went through Affirm's virtual onsite last month for a mid-level backend role. four rounds over one day, which was a lot but honestly fine pacing-wise.

recruiter screen was 20 min, standard. then a take-home coding problem, which caught me off guard because most companies do live coding now. the problem was a simplified payment ledger thing: given transactions and reversals, compute final balances. had to handle duplicates and idempotency keys. sounds basic but the edge cases pile up fast.

after that: one DSA round (two mediums, graph traversal and a heap question), one system design (design a notification service for payment events, they cared a lot about at-least-once vs exactly-once delivery), and one behavioral that was explicitly Affirm-values-based.

the system design round was different than I expected. the interviewer kept asking about what happens when the downstream service is down, how do you recover, what does a consumer see. payments context clearly shapes how they think about failure. not just "how does your system handle load" but "how does it stay financially correct when things go wrong."

behavioral was pretty standard STAR stuff. they asked about a time I disagreed with a technical decision and what happened. asked about a project that failed and what I learned.

didn't get the offer. HC wasn't strong enough on the system design round apparently. but recruiter gave me actually useful feedback which was... rare.

5 replies

de_derek

the idempotency angle makes sense for fintech. had a similar experience at a payments-adjacent company where they wanted you to walk through what happens if a charge fires twice. most people just say "check for duplicate IDs" without thinking about distributed clock skew.

backend_bekah

exactly. and the take-home gave you a set of events with the same idempotency key but different amounts, which is a real-world pain. you can't just deduplicate on the key alone.

corp_refugee

useful feedback after a rejection is genuinely rarer than it should be. at my last big-tech job we were explicitly told not to give specific feedback for legal reasons. so that's actually a decent signal about the culture.

visa_vik

did you have any gap between each round or was it back to back? asking because I have a loop scheduled and I'm wondering how mentally taxing the all-in-one-day format is.

backend_bekah

there were 15-minute breaks between each. I used one to eat something. strongly recommend actually eating.