PayPal interview prep · updated Oct 2026

PayPal Software Engineer Interview Questions

Software Engineer 8 questions

Software engineers at PayPal work on a wallet where every action moves someone's money, decisions about fraud must be made in the moment of payment, and sensitive details like card and bank numbers pass through the code. Auditors can ask for the history of any transaction. Prepare to discuss money sent to someone with no account yet, amounts in many currencies, risk checks under time limits, sensitive data and cleaning up after a job ran twice. What to show here: engineering that stays correct with someone's money at stake. 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 you worked on software that had to satisfy auditors or regulators. How did that change the way you wrote and tested code?

What they are checking
Checks whether you have worked where history must be complete and provable, and adapted your habits to that.
Answer frame
  1. Describe the system and the requirement.
  2. Explain what changed in your design: immutable records, access logs.
  3. Describe how you tested and documented.
  4. Share the result.
Sample spoken answer

“In your project the transaction history had to be complete and provable to an outside auditor. That changed my instincts. I stopped updating records in place and wrote every change as a new entry with who, when and why. I made sure every access to sensitive records was logged, and that the logs could not be edited by the same people who wrote the code. Tests included one that replays all entries and checks the final balances match. I wrote plain documents describing the flow, which the auditors read. The audit went through, and your result.”

Red flag to avoid

Weak answers treat audit as paperwork done by others and show no change to how they build.

Behavioral

2. Describe a time you noticed a pattern of abuse or fraud in a system you worked on, and what you did.

What they are checking
Checks awareness that money systems attract abuse and whether you act with care for real users.
Answer frame
  1. Describe the pattern and how you spotted it.
  2. Explain how you confirmed it was abuse and not normal use.
  3. Describe the fix and its effect on honest users.
  4. Share the result.
Sample spoken answer

“While looking at logs for a performance issue in your project, I noticed many new accounts created within minutes from similar addresses, each making one small transaction. I did not block them at once, because a group of colleagues signing up together could look similar. I pulled the data together and found the accounts shared the same payment details, which honest users rarely do. I brought it to the team, and we added a check that slows sign-up from one source and asks for extra verification when payment details are reused. Honest users saw almost no change. The result was your result.”

Red flag to avoid

Weak answers block broadly without checking, or leave it to someone else because it is not their feature.

Technical

3. Someone sends money to an email address that has no account. What should happen to the money, and how would you design what follows?

What they are checking
Checks whether you can design for a pending state with expiry, cancellation and later matching to a new account.
Answer frame
  1. Hold the money in a pending state tied to the address, not spent from the system.
  2. Notify the address and let the sender cancel while unclaimed.
  3. Match the transfer when an account with that verified address is created.
  4. Return the money after an expiry.
Sample spoken answer

“The money would leave the sender's available balance and sit in a pending transfer tied to the email address, so it is safe and cannot be spent. We send the address a message explaining that money is waiting. While it is unclaimed, the sender can cancel and get it back, which also helps when they typed the wrong address. If someone creates an account and verifies that address, the pending transfer is matched and credited. Verification matters, or anyone could claim it. If nothing happens within a set period, the transfer expires and the money returns to the sender with a message.”

Red flag to avoid

Weak answers reject the transfer entirely or credit whoever registers the address without verifying it.

Technical

4. Amounts come in many currencies. Some have two decimal places, some none, some three. How do you represent and handle amounts so that nothing is lost in arithmetic or display?

What they are checking
Checks precise handling of money values across currencies, which is easy to get subtly wrong.
Answer frame
  1. Store amount as an integer of minor units together with the currency code.
  2. Keep per-currency data on decimal places.
  3. Do arithmetic in minor units and round once, by a defined rule.
  4. Format for display using the currency's rules.
Sample spoken answer

“I would represent an amount as a pair: an integer count of the currency's smallest unit and the currency code. A table per currency says how many decimal places it has, so the same code handles a currency with none and one with three. Arithmetic happens on the integers. Where division is needed, such as splitting a fee, I round once by a written rule and put any leftover unit somewhere explicit. Two amounts in different currencies must never be added, and the type system can enforce that. Display formatting is separate and uses the currency's rules, never the other way round.”

Red flag to avoid

Weak answers use a decimal with two places for everything, which breaks for currencies with none or three.

System Design

5. At the moment a buyer pays, the system must decide whether the payment looks fraudulent, within a strict time limit. Design that decision service.

What they are checking
Checks whether you can combine data lookups, rules and a model under a latency budget, and decide what to do when it is slow.
Answer frame
  1. Gather signals quickly: account history, device, amount, seller, from fast stores.
  2. Apply rules and a scoring model within the time budget.
  3. Return allow, deny or ask for extra verification.
  4. Define behaviour on timeout and record every decision.
Sample spoken answer

“The service has a small time budget, so the signals it needs must come from fast stores prepared in advance: how old the account is, how much it usually spends, the device, the seller's history. It applies clear rules first, such as blocked accounts, then a scoring model, and returns one of three answers: allow, deny, or step up with extra verification. If a lookup is slow, the service must still answer in time, so it uses whatever signals it has and treats missing data as riskier. Every decision is recorded with its inputs, so a wrong decision can be explained and the model improved.”

Red flag to avoid

Weak answers call slow services in sequence with no time limit, or have no answer for what happens on a timeout.

Technical

6. Card numbers and bank details pass through your code. What rules would you follow for storing, using and logging them?

What they are checking
Checks your discipline with sensitive data: tokenisation, minimal storage, encryption and logs that never leak.
Answer frame
  1. Replace sensitive values with tokens as early as possible.
  2. Store the real values only in one protected system with encryption and strict access.
  3. Never log them; mask by default in every logger.
  4. Limit which services can ever see them and test for leaks.
Sample spoken answer

“As soon as a card or bank number enters the system, I would exchange it for a token in one protected vault service, and the rest of the system works only with the token. The vault stores the real values encrypted, with keys managed separately and access logged. Logs are the most common leak, so I would make the logging library mask anything that looks like a card or account number by default, and test that by sending fake numbers through and searching the logs. Only a few services should be able to call the vault at all. Error messages and crash reports get the same treatment.”

Red flag to avoid

Weak answers store the numbers in the main database with encryption and think that is enough, or forget logs entirely.

Scenario

7. A batch job that pays out sellers ran twice one morning, and some sellers received their money two times. Walk me through what you do.

What they are checking
Checks calm handling of a money incident: stopping harm, finding scope, correcting fairly and preventing repeats.
Answer frame
  1. Stop the job and any further payout runs.
  2. Find every duplicate payout from records.
  3. Recover fairly: reverse where possible, communicate, avoid pushing sellers negative without notice.
  4. Make the job safe to run twice.
Sample spoken answer

“First I would stop the job and make sure no further payout runs are scheduled. Then I would find the exact scope: every payout that appears twice, matched by seller and the underlying transactions, and the total amount. For recovery, I would work with finance and support. Where the second payout can be reversed with the bank, we reverse it. Otherwise we tell the seller clearly and recover from their next payouts in a fair way, not by taking their balance negative without warning. Then the fix: each payout gets a key from the period and seller, so a second run finds it already done and skips it.”

Red flag to avoid

Weak answers quietly take the money back from balances or fix the job without cleaning up the duplicates.

Why this company

8. What makes you want to engineer software for a wallet and payments company, and why PayPal?

What they are checking
Checks whether you want the responsibility of money software and understand the company's business.
Answer frame
  1. Say what kind of engineering you value.
  2. Explain what is distinct about money software.
  3. Connect to PayPal's wallet, buyers and sellers.
  4. Say how you want to grow.
Sample spoken answer

“I value engineering where being right matters more than being clever. Money software has that property: a small mistake is repeated in thousands of transactions, auditors may ask about any of them years later, and fraud tests every gap. I have worked on your project, where I learned to write code that can be explained afterward. PayPal runs a wallet used to pay on shopping sites and to send money to friends, with buyers and sellers on both sides of a payment and disputes between them. I want to grow into an engineer trusted with that kind of system.”

Red flag to avoid

Weak answers talk about scale or the brand and say nothing about correctness, fraud or the two sides.

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