Interview experiences

PayPal SDE II Interview: Assessment, System Design, and an HR Standoff Over Pay

PayPalSDE II·Not specified·Interviewed April 2023No offer

Updated July 17, 2026

The candidate had about five years of experience across two non-FAANG product companies and had been laid off a few months before this process started. A recruiter reached out and asked for the candidate's current compensation; the candidate declined to share a figure but said they were open to a reasonable offer, and the recruiter moved forward with the interview loop on that basis.

The loop consisted of a timed online assessment, two further technical rounds covering coding and object-oriented/system design, and was scheduled to conclude with a fourth round involving the hiring manager. Before that final round took place, a phone call with an HR representative over the candidate's previous compensation turned confrontational, and HR canceled the meeting, ending the process.

How the process went

  1. Recruiter outreach

    A recruiter contacted the candidate after a layoff and asked about current compensation. The candidate declined to disclose a number but said they were open to a reasonable offer; the recruiter proceeded with scheduling interviews on that basis.

  2. Round 1 - Online assessment

    A 90-minute online coding assessment with two questions: an object-oriented wallet implementation built against provided stub code, and a greedy cost-minimization problem.

  3. Round 2 - Technical interview

    A round covering a substring-search problem and a random-shuffle design problem.

  4. Round 3 - Design interview

    A round covering immutable class design, a publisher-subscriber library design, and a system design discussion on concurrent seat booking for a site like BookMyShow.

  5. Result call and Round 4 invite

    The candidate was told the first three rounds had gone well and received a calendar invite for a fourth round with the hiring manager.

  6. HR compensation call

    Within an hour of the invite, an HR representative called demanding the candidate's previous compensation. When the candidate held to the confidentiality position stated earlier to the recruiter, the call became heated, and HR canceled the round 4 meeting, ending the process.

Round 1: Online Assessment

Timed OA covering an OOP implementation task and a greedy optimization problem · 90 minutes

  • Implement a payment wallet system in Java against provided stub/client code: add balance, check whether a transaction is possible, and deduct balance while handling the exceptions the client code expects.
  • Given an array of costs and a budget of m operations where each operation halves one chosen cost, return the minimum possible sum of the array after at most m halvings.

The wallet question required implementing against given stub code and was restricted to Java.

The cost-minimization question allowed any programming language.

Round 2: Technical Interview

Two coding problems on substring search and randomization

  • Given a string s, a character c, and a target count, find the shortest contiguous substring of s containing at least that many occurrences of c (example given: s = 'abrtbopkbxb', c = 'b', count = 2, answer length 3, substring 'bxb').
  • Design a function to randomly shuffle a list of strings so that repeated calls produce different orderings, with a very low probability of the same shuffle repeating.

Round 3: System Design / OOP

Immutability, library API design, and a distributed booking system design discussion

  • Design an immutable class storing a name and date of birth with simple getters, where neither field can change after construction.
  • Design a publisher-subscriber library where client code can publish content and subscribe to it.
  • Design the seat-booking flow for a site like BookMyShow: what problems arise when multiple users try to book the same seat, whether locking is needed and at what level (database vs. application code), how that affects read performance, and how to keep seat status consistent when the system runs across multiple machines instead of one.

Key takeaways

  • State any compensation-disclosure boundary clearly with the recruiter early on, since it can resurface later in the process and be worth having in writing.
  • Expect basic OOP/immutability design questions (e.g., an immutable name/DOB class) even in rounds framed as system design, not just large-scale architecture questions.
  • Prepare to discuss distributed locking trade-offs — database-level vs. application-level locks, impact on read performance, and consistency across multiple machines — for booking or inventory-style system design prompts.
  • If a late-stage call becomes confrontational over compensation or other terms, treat it as a data point about the team's process, not just an isolated incident.
  • Keep track of what was agreed with a recruiter early in the process in case those terms are questioned again later by a different interviewer or HR contact.

Practice a PayPal interview

Rehearse out loud against the kinds of questions in this story — with an AI interviewer that asks follow-ups.

Practice this interview

Source

The questions and process facts come from the candidate's public write-up, linked below. The retelling above is our own summary.

Candidate's public write-up on LeetCode Discuss