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.
How JPMorgan Chase hires, in its own words, and its questions for every job →
“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.”
Weak answers stop at the code fix, or describe editing rows by hand in production with no review or record.
“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.”
Weak answers win the argument by rank or stubbornness, or give up the check without measuring anything.
“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.”
Weak answers update two balances in separate steps, or rely on the client never retrying.
“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.”
Weak answers treat the payment as one instant call, or undo a return by deleting the original entries.
“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.”
Weak answers store one balance number and subtract both the hold and the final amount from it.
“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.”
Weak answers run one huge transaction over all accounts, or cannot say what happens if the job dies halfway.
“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.”
Weak answers let the load finish before looking, or fix the rows quietly without telling the teams who face customers.
“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.”
Weak answers could be given to any large company and never mention ledgers, payments or correctness.
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.
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.