JPMorgan Chase interview prep · updated Oct 2026

JPMorgan Chase Backend Developer Interview Questions

Backend Developer 8 questions

Backend work at a large bank for people and businesses is about moving and recording money correctly: account ledgers, card holds, transfers inside the bank and payments sent to other banks. Prepare to talk through ledger design, requests that are retried, files from partner banks, overnight posting jobs, and how you repaired data after something went wrong. What to show here: every unit of money recorded once and traceable. Each question below has what the interviewer is checking, an answer frame and a sample spoken answer to adapt.

Behavioral

1. Tell me about a time a bug you shipped wrote wrong values into customer records. How did you correct the data, not just the code?

What they are checking
Checks ownership after a mistake: whether you measure the damage, repair records in a way that can be reviewed, and tell people plainly.
Answer frame
  1. Describe the bug and how it was found.
  2. Explain how you worked out which records were affected.
  3. Describe the repair: a reviewed script, a dry run, a record of each change.
  4. Share what you changed to prevent a repeat.
Sample spoken answer

“In a past project I changed a rounding step, and for a few days some invoices were saved with a slightly wrong tax amount. I fixed the code quickly, but the saved rows were still wrong. I wrote a query to find every affected row and compared the count with the release window to be sure. Then I wrote a repair script, ran it first in a mode that only printed the changes, and had a teammate review the output. Each change was logged with the old and new value. Afterwards I added a test with real edge amounts, and your result.”

Red flag to avoid

Weak answers stop at the code fix, or describe editing rows by hand in production with no review or record.

Behavioral

2. Describe a time a teammate wanted to skip a safety check to make a service faster, and you disagreed. How did you settle it?

What they are checking
Checks whether you can defend a control with evidence and still look for a way to meet the speed goal.
Answer frame
  1. Explain the check and why it was slow.
  2. Describe both views fairly.
  3. Show the evidence you gathered.
  4. Share the agreed design and the outcome.
Sample spoken answer

“We had a service that checked every request against a list of blocked accounts, and the lookup was slow. A teammate proposed checking only a sample of requests. I understood the goal, but one missed case could let a blocked account through. I measured where the time went and found most of it was a remote call for a list that changed rarely. I suggested keeping the check on every request but holding the list in memory and refreshing it often. We tested both and the speed was close to his target. We kept the full check, and your result.”

Red flag to avoid

Weak answers win the argument by rank or stubbornness, or give up the check without measuring anything.

System Design

3. Design the service that moves money between two accounts held at the same bank, so that a request repeated after a timeout never moves the money a second time.

What they are checking
Checks ledger thinking and idempotent design: one atomic change, a request key, and a clear answer for repeated calls.
Answer frame
  1. Require a unique key from the caller for each transfer.
  2. Write both ledger entries and the key in one database transaction.
  3. On a repeated key, return the first result without doing work.
  4. Cover limits, insufficient funds and how long keys are kept.
Sample spoken answer

“The caller sends a unique key with each transfer request. Inside one database transaction I store the key, check the balance, and write two ledger entries: a debit on one account and a credit on the other. A unique constraint on the key means a repeat cannot insert again. When the same key arrives later, I return the saved result, whether it was success or refusal. If the same key comes with different amounts, I reject it as an error. Balances are derived from ledger entries, so the two sides always add up. I would keep keys long enough to cover any client retry.”

Red flag to avoid

Weak answers update two balances in separate steps, or rely on the client never retrying.

System Design

4. A customer sends money to an account at another bank. Design how you would track that payment from the moment it is submitted until it settles, including the case where the other bank sends it back.

What they are checking
Checks whether you can model a slow, multi-party process with clear states, and handle a return that arrives days later.
Answer frame
  1. List the states: submitted, accepted, sent, settled, returned, failed.
  2. Say which event moves each state and who sends it.
  3. Explain when the customer's money is held, taken and given back.
  4. Cover missing replies and late returns.
Sample spoken answer

“I would give each payment a record with a state and a full history of changes. When it is submitted, I place a hold on the customer's funds. When the payment is sent out through the network between banks, the state becomes sent. Settlement confirmation moves it to settled and the hold becomes a final debit. If the other bank returns it, for example because the account is closed, I write a new credit entry instead of deleting the old debit, and tell the customer why. A scheduled job looks for payments stuck in one state too long and raises them for review.”

Red flag to avoid

Weak answers treat the payment as one instant call, or undo a return by deleting the original entries.

Technical

5. A card is used at a petrol station and the final amount is known only later. How would you model the available balance and the posted balance so both stay right?

What they are checking
Checks whether you understand holds on card payments and can keep two views of a balance without double counting.
Answer frame
  1. Define posted balance as the sum of final entries.
  2. Define available balance as posted minus open holds.
  3. Explain how a hold is matched and replaced when the final amount arrives.
  4. Cover holds that never complete and must expire.
Sample spoken answer

“I would keep final entries and holds in separate tables. The posted balance is the sum of final entries. The available balance is the posted balance minus all open holds. When the card is approved, I create a hold with a reference from the card network. When the final amount arrives, I find the hold by that reference, close it, and write the final entry, in one transaction, so the customer is never reduced twice. If the final amount differs from the hold, the final one wins. Holds that are never completed expire after a set time, and the money becomes available again.”

Red flag to avoid

Weak answers store one balance number and subtract both the hold and the final amount from it.

Technical

6. Overnight jobs post interest and fees to millions of accounts while customers keep using the app. How do you stop the batch and the live requests from corrupting each other?

What they are checking
Checks your approach to batch work beside online traffic: small units of work, restart safety and a clear cutoff time.
Answer frame
  1. Fix a cutoff time so the batch works on a stable view.
  2. Process in small chunks with short transactions.
  3. Make each chunk safe to run again after a failure.
  4. Watch lock waits and slow the batch when live traffic suffers.
Sample spoken answer

“First I set a clear cutoff: the batch calculates interest on the balance as of that moment, and entries after it belong to the next day. The job works through accounts in small groups, each in its own short transaction, so it never holds locks for long. Each posting carries a key made from the account and the business date, so if the job stops and restarts, it cannot post the same interest twice. I record progress after each group. I would also measure how long live requests wait on locks, and slow the batch down when that grows.”

Red flag to avoid

Weak answers run one huge transaction over all accounts, or cannot say what happens if the job dies halfway.

Scenario

7. A partner bank's file of incoming payments has been delivered twice this morning, and the second copy has already started loading. What do you do?

What they are checking
Checks how you act on a live money problem: stop the spread, measure it, repair with a record, then close the gap.
Answer frame
  1. Pause the load and stop further posting.
  2. Work out which entries from the second copy were already posted.
  3. Reverse them with new entries and tell operations and support.
  4. Add a check on file identity so a repeat is refused.
Sample spoken answer

“I would pause the loader first, so no more duplicate credits reach accounts. Then I compare the two files by their control totals and record references to confirm they are the same, and list which records from the second copy were posted. For those, I write reversing entries that point to the duplicate, instead of deleting rows, so the history stays complete. I tell operations and customer support which accounts briefly showed extra money, because some customers may already have spent it. Afterwards I add a check that stores a fingerprint of each file and refuses one already seen.”

Red flag to avoid

Weak answers let the load finish before looking, or fix the rows quietly without telling the teams who face customers.

Why this company

8. What interests you about backend work on accounts and payments at JPMorgan Chase, compared with backend work on other kinds of products?

What they are checking
Checks whether you are drawn to the discipline of money systems, not only to a large employer.
Answer frame
  1. Say what is different about software that records money.
  2. Connect it to accounts, cards and payments between banks.
  3. Link it to your own experience.
  4. Say what you hope to get better at.
Sample spoken answer

“In most products a lost update is an annoyance. In a bank it is someone's rent. I enjoy that stricter kind of backend work, where every change has two sides, a reason and a record. JPMorgan Chase runs accounts and cards for people and businesses and sends payments to other banks, so the systems must agree with each other and with outside parties. I have built order and billing services before, and the part I liked most was making retries and failures safe. I want to go deeper into ledger design and learn how such systems are changed without risk.”

Red flag to avoid

Weak answers could be given to any large company and never mention ledgers, payments or correctness.

Salary questions come last

No figures on this page: pay depends on the level, the city and the offer in front of you. When the offer comes, the free salary negotiation script helps with that part.

For the call itself

The questions above are the prep. On the real call, ClapAssist helps with the ones you did not practice.

ClapAssist is an AI interview assistant for Mac and Windows. It listens to the interview on your computer and shows you what to say, in short lines you can read while you talk. Your live interview audio and screen are never stored. Your resume and notes are saved to your account so the app fills them in on any computer. It is hidden from screen share on every plan, including Free; only you can see it.

Download with 10 free minutes
Mac and Windows · Stays out of screen share · No card