Behind a wallet used for buying, selling and sending money to friends sits a ledger that must always balance, a dispute process that stands between two people who disagree, and rules that hold funds or convert currencies. Backend work at PayPal is where correctness, audit and fairness meet at high volume. Prepare to discuss ledger design, holds on seller funds, disputes with deadlines, currency conversion and what to do when the books do not match. What to show here: a ledger that balances and is fair to both sides. Each question below has what the interviewer is checking, an answer frame and a sample spoken answer to adapt.
How PayPal hires, in its own words, and its questions for every job →
“In your project I found that a rounding step ran twice on some refunds, so a few people received slightly less than they were owed. My first step was to switch off the code path to stop more wrong refunds. Then I wrote a query to find every affected refund from the logs and the ledger. I did not correct balances by editing rows. We issued adjustment entries with a reason, so the history stayed complete, and told the affected users. Then I fixed the code and added a test that recomputes a sample of refunds independently. The result was your result.”
Weak answers fix the code and leave the wrong balances, or edit balances directly with no record.
“We were building faster withdrawals to bank accounts, and the compliance team required extra checks for certain amounts and new accounts. My first reaction was that this would ruin the experience. Instead of arguing, I asked them what the checks protect against, and learned they stop stolen accounts being drained. So I designed the feature to run the checks in the background while the user finishes, and to show an honest message with a time estimate when a check needs a person. Most withdrawals stayed fast, and the risky ones were handled properly. The result was your result.”
Weak answers treat compliance as an obstacle to route around or give up the feature entirely.
“I would build the ledger as a list of entries that are written once and never changed. Every transaction, such as a payment to a seller, produces entries that add up to zero: a debit from the buyer, a credit to the seller and a credit to a fee account. Balances are derived from entries, with a cached balance per account that is updated in the same transaction and checked against the entries regularly. Mistakes are corrected by new reversing entries, never by editing. Internal accounts hold money in transit or in dispute. This lets anyone explain any balance by listing its entries.”
Weak answers store only a balance column that is updated in place, so no one can explain how it got there.
“I would model a dispute as a state machine: opened, waiting for seller, under review, resolved for buyer, resolved for seller, and closed. When a dispute opens, the disputed amount moves from the seller's available balance into a holding account in the ledger, so it cannot be withdrawn. Each side has a deadline to respond, with reminders, and a missed deadline moves the state automatically. Evidence is stored with who uploaded it and when. A decision, whether by a rule or a person, is recorded with a reason and produces ledger entries that release the hold to the right side. Every transition is logged.”
Weak answers keep the seller's money spendable during the dispute or have no deadlines and no audit trail.
“I would treat pending and available as two separate accounts for the seller in the ledger. A new payment credits pending, with a release date on that entry. A scheduled process moves entries whose date has passed into available, and it must be safe to run twice, so each release is keyed to its entry. The seller sees both numbers with an explanation of when money arrives. If a refund or dispute happens while money is pending, it should come from pending first, which keeps the seller from going negative. When the seller's history improves, the hold period can shorten for new payments.”
Weak answers keep one balance and a flag, which makes partial releases and refunds impossible to get right.
“The rate should be locked when the buyer confirms and stored on the transaction, because rates move and both sides must be able to see exactly what was applied. I would convert using integers in the smallest units and one clearly defined rounding rule, applied once. The transaction record keeps the buyer's amount and currency, the seller's amount and currency and the rate. Rounding can leave a tiny difference, and that difference must go to a known internal account, never disappear, so the ledger still adds up. Refunds should use the original rate, so the buyer gets back what they paid.”
Weak answers fetch a fresh rate at refund time or let rounding differences vanish.
“A small difference is still a broken promise, because it means some transaction is not fully recorded. I would first find when it began, by comparing daily totals, then narrow by transaction type: payments, withdrawals, refunds, currency conversions. Often the cause is a process that recorded one side of a movement and failed on the other, or a bank file where one line was rejected. Once I have the specific transactions, I would correct them with adjustment entries that carry the reason, not by editing numbers. Then I would fix the process so the failure cannot leave a half-recorded movement again.”
Weak answers call the difference too small to matter or adjust a balance to make the totals match.
“I enjoy systems where correctness can be proven, and a ledger is the clearest example: the entries must add up, every day, without exception. What interests me about a wallet is that there are always two people in each transaction, and the system has to be fair to both, which shows in holds, refunds and disputes. In your project I worked on transactions and reconciliation and found I liked that discipline. PayPal runs a wallet used to pay sellers and to send money to friends, and stands between the two sides when they disagree. I want to learn how that is engineered at large scale.”
Weak answers talk about high traffic in general and never mention the ledger, the two sides or disputes.
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.