Home › Blog › Affirm Coding Interview Questions: Practical Coding and Payments Design

Affirm Coding Interview Questions: Practical Coding and Payments Design

Affirm, based in San Francisco and describing itself as remote-first, offers pay-over-time loans at checkout with merchants online and in stores, plus the Affirm Card. Candidates describe a HackerRank phone screen and a roughly four-hour virtual onsite with two coding rounds, a payments-flavored system design round and a behavioral interview with the hiring manager.

Affirm, based in San Francisco and describing itself as remote-first, offers pay-over-time loans at checkout with merchants online and in stores, plus the Affirm Card. Candidates describe a HackerRank phone screen and a roughly four-hour virtual onsite with two coding rounds, a payments-flavored system design round and a behavioral interview with the hiring manager. This page covers what Affirm builds and who it hires, the process candidates commonly report, the technical depth the teams care about, representative problem types, what interviewers score, and a three-week prep plan.

What Affirm builds and who it hires

Affirm's engineers build checkout integrations for merchants and platforms, the underwriting that decides each loan in real time, loan servicing and repayments, the Affirm Card and app, and the systems that fund loans through banks and investors. Job posts describe a back end in Python and Kotlin with MySQL, gRPC, Kubernetes and AWS, and some 2026 posts ask engineers to use agentic development tools in their daily work.

What the process tends to look like

StageWhat happensHow to prepare
Recruiter callAbout 30 minutes, largely about preparing for the processKnow Affirm's products and your timeline
Technical screenAbout an hour of live coding in HackerRank; a few candidates report a take-home insteadMedium problems solved cleanly, with tests
Virtual onsiteAbout four hours in one day or two: two one-hour coding rounds and a one-hour system design round in HackerRank, and a 45-minute behavioral round with the hiring managerOne payments design and stories about pressure and feedback

Processes differ by team, level and office and change over time, so treat this as the common shape candidates report and confirm the specifics with your recruiter.

Credit, payments and practical code

Payment schedules. Splitting a purchase into installments sounds easy until the cents do not add up. Use integer cents, decide where the rounding remainder goes, and handle due dates, interest-free versus interest-bearing plans, refunds that arrive mid-plan and late payments.

Ledgers and consistency. Reported design prompts include a data model for peer-to-peer transfers between bank accounts that must never exceed the available balance. Guides also list ledger consistency, idempotency and loan servicing. Stay high-level first, then ask which part to deepen. Our system design walkthroughs for marketplaces, maps and payments include a payments walkthrough.

Working in existing code. Some candidates describe extending an existing codebase rather than starting from a blank file. Practice reading unfamiliar Python, finding where a change belongs and adding a test before you edit. Our Python interview questions and Kotlin interview questions cover the two main languages.

A panel from across the company. Candidates describe a panel of engineers from several teams plus the hiring manager for your organization, who makes the final decision. The behavioral round can outweigh a strong coding day, so prepare it as seriously as the technical rounds.

Representative problem types

These are the kinds of problems candidates describe, not a leaked question list. Practice the category, not the exact question.

  1. Split a purchase into installments whose cents add up exactly.
  2. Compute a loan's remaining balance after payments, refunds and late fees.
  3. Design a data model for peer-to-peer transfers that cannot overdraw an account.
  4. Design repayment collection with retries when a bank debit fails.
  5. Design a decision service that approves or declines a loan inside checkout.
  6. Traverse a matrix or grid with clear boundary handling.
  7. Medium problems on binary trees, hash maps, stacks and recursion.

What interviewers score

The behavioral side

Technical rounds decide most outcomes, but every Affirm loop also asks about how you work. Prepare a short story for each of these, with a result and what you learned:

Structures and sample answers for the common questions are in our software engineer behavioral answers guide.

A three-week prep plan

  1. Week 1: practical coding: build small features against an API, parse and transform data, and write tests, in the language you will interview in.
  2. Week 2: system design for the company's domain, plus two behavioral stories about shipping and fixing something under pressure.
  3. Week 3: timed mixed problems, a mock interview every other day, and research into the product and its engineering blog.

For practice lists, use LeetCode company-tagged questions and the NeetCode 150 roadmap; for design rounds, read system design building blocks; and compare the practical style of Stripe.

Where CoPilot Interview fits

Most of a Affirm loop is spoken: you explain an approach, defend a trade-off and talk through your past work. CoPilot Interview is an AI interview assistant whose free AI mock interview builds technical and behavioral questions from your résumé and the job description, reads them aloud and scores each spoken answer out of ten, so you can rehearse the explanation as well as the code. The free plan gives 15 minutes a day of live help in sessions of up to 15 minutes, with AI mock interviews included. Online assessments and many coding rounds forbid outside help, so practice beforehand and follow your employer's rules on the day.

Disclosure: CoPilot Interview is our product, so weigh what we say about it accordingly.

Frequently asked questions

What programming language should I use in a Affirm interview?

Python is common in Affirm's back end and in candidate reports, with Kotlin on newer services. Coding rounds in HackerRank usually let you choose, so use the language you write cleanest code in.

Does Affirm send an online assessment?

Candidates more often describe a live HackerRank phone screen than an unattended online assessment, and a few report a take-home instead. Ask your recruiter which format applies to your role.

How hard is the Affirm coding interview?

Candidate reports and prep guides describe problems around LeetCode-medium difficulty with interviewer variations, on topics such as binary trees, hash maps, matrices, stacks, strings and recursion. The challenge is usually clean, working code and edge cases rather than an obscure algorithm.

How should I prepare for Affirm coding questions?

Practice practical problems under time limits, build small features against an API in your interview language, and prepare one system design in Affirm's domain. Explain every solution out loud, because follow-up questions about trade-offs matter as much as the first answer.

Can I use AI tools in a Affirm interview?

Only if the instructions you receive say so. Online assessments and live coding rounds generally forbid outside help, and some companies now state their AI policy in the invitation. Use AI to practice beforehand, and follow your employer's rules.

Practice this interview before the real one

The AI mock interview builds questions from your resume and the job description, reads them aloud and scores each spoken answer out of 10. Included on the free plan.

Start a mock interview