PayPal - Senior Software Engineer Frontend Interview Experience

paypal logo
paypal
Senior Software Engineer FrontendRejected
November 18, 20251 reads

Summary

I interviewed for a Senior Software Engineer - Frontend position at PayPal, navigating 6 rounds including DSA, System Design, and React-specific challenges, ultimately receiving an offer which I then rejected.

Full Experience

I recently underwent a comprehensive interview process for a Senior Software Engineer - Frontend role at PayPal, spanning approximately two months from August to October 2025. The process was quite rigorous, consisting of six distinct rounds.

Round 1: Online HackerRank Assessment

My journey began with a 90-minute Online HackerRank Assessment. It featured three main questions: a medium-difficulty DSA string manipulation problem, a JavaScript class implementation task focusing on object-oriented programming, and a React UI question involving a cart management system where I had to dynamically update items and manage state in real-time.

Round 2: DSA Round

The second round was a 45-minute (extended to 55 minutes) DSA session. I tackled two LeetCode problems: 'Triangle' (Dynamic Programming) and 'Min Stack', needing fully working solutions for both. Additionally, I discussed the approach for 'Topological Sort' without coding.

Round 3: System Design Round

The System Design Round, 45 minutes long, required me to design a Payment Gateway System. We discussed its overall architecture, system components, payment flow, transaction processing, and a ledger system, even though it was a frontend role, indicating PayPal's emphasis on backend knowledge in their interviews.

Round 4: Tech Specialization Round

The Tech Specialization Round, 60 minutes, was multifaceted. I quickly solved an easy Binary Search DSA problem to allocate more time to React. This was followed by conceptual questions on React internals like Virtual DOM, reconciliation, and the diffing algorithm. I also had to write pseudocode for the diffing algorithm. Finally, I coded a Currency Converter application in React, managing state and dynamic conversions, with the interviewer's help in debugging.

Round 5: Bar Raiser Round

A 45-minute Bar Raiser Round with a Senior Engineering Manager involved my self-introduction and a deep dive into my past work at Fairmatic and Zendrive, focusing on technical depth. We covered behavioral questions about handling conflicts, team collaboration, decision-making, and discussed my approach to mentoring junior engineers and ensuring technical growth, along with demonstrating technical ownership. Interestingly, despite prior confirmation of clearing rounds and salary discussions, another bar raiser was scheduled.

Round 6: Final Bar Raiser Round

The final, and unexpected, Bar Raiser Round focused on DSA and JavaScript for 45 minutes. I faced two challenging problems: 'Remove Minimum Substring for Unique Characters', where I implemented logic passing 13/15 test cases, and 'Deep Copy with Array Length Update' in JavaScript, which involved implementing a deep copy function that also appends array lengths to arrays within the copied object. I aimed for a true deep copy where modifications to the new object wouldn't affect the original.

Final Outcome

Ultimately, I received an offer for the Senior Software Engineer - Frontend position at PayPal, but I decided to reject it as I had accepted another offer from Salesforce.

Interview Questions (10)

Q1
Implement Class with Specific Methods
Other

Implement a JavaScript class with several methods according to provided specifications, focusing on object-oriented programming principles in JavaScript.

Q2
React Cart Management System UI
Other

Implement functionality for a cart management system in React. Requirements included a sample UI layout, dynamically updating cart items, managing state for total items and quantities, and ensuring the UI reflects changes in real-time.

Q3
Triangle
Data Structures & Algorithms

Given a triangle, find the minimum path sum from top to bottom. For each step, you may move to an adjacent number on the row below. The requirement was a fully working solution passing all hidden test cases using Dynamic Programming.

Q4
Min Stack
Data Structures & Algorithms

Implement a stack with push, pop, top, and getMin operations, where getMin retrieves the minimum element in O(1) time. The solution must pass all hidden test cases.

Q5
Topological Sort
Data Structures & Algorithms

Explain the approach for Topological Sort without coding.

Q6
Design a Payment Gateway System
System Design

Design a Payment Gateway System, discussing its overall architecture, system components, payment flow between services, transaction processing mechanisms, and ledger system implementation for consistency and traceability. High-level backend design was expected despite it being a frontend role.

Q7
Pseudocode for React Diffing Algorithm
Other

Write pseudocode for the React Diffing Algorithm. The approach involved a function comparing two DOM trees recursively (DFS-like) and comparing nodes at each level.

Q8
React Currency Converter Application
Other

Implement a Currency Converter application in React. Requirements included dynamic conversion based on dropdown selection, updating converted amounts on user input, and proper state management.

Q9
Remove Minimum Substring for Unique Characters
Data Structures & Algorithms

Given a string, remove the minimum-length substring such that the resulting string contains no duplicate characters. The goal is to maximize the length of the resulting string after removal. Examples:
Input: "aabcc" -> Output: "ac" (Remove: "abc" positions 2-4)
Input: "abca" -> Output: "abc" (Remove: "a" last character)
Input: "aa" -> Output: "a" (Remove: "a" either one)
Input: "abc" -> Output: "abc" (Already unique)

Q10
Deep Copy with Array Length Update
Other

Implement a function to deep copy an object with a special condition: if any key contains an array, append the array's length to the end of that array in the copied object. Modifying the new object should not affect the original (true deep copy). Example:
const obj1 = { a: 12, b: [1, 2, "a"] };
Expected Output:
const obj2 = { a: 12, b: [1, 2, "a", 3] };
Deep copy validation:
obj2.b.push(4);
console.log(obj1.b); // [1, 2, "a"] - unchanged
console.log(obj2.b); // [1, 2, "a", 3, 4]

Preparation Tips

Based on my experience, here are some key takeaways and preparation tips for PayPal interviews:

  • Backend System Design (Even for Frontend Roles): PayPal strongly emphasizes backend system design knowledge. It's crucial to focus on services, data flow, and high-level architecture, even if you're interviewing for a frontend position.
  • Strong DSA Foundation: DSA is present in multiple rounds. I recommend practicing medium to hard problems on LeetCode, with a particular focus on Dynamic Programming, Stack/Queue implementations, String manipulation, and Graph algorithms like Topological Sort.
  • React Deep Dive: Thoroughly understand React internals, including the Virtual DOM, Reconciliation process, and the Diffing algorithm. Be prepared for both conceptual questions and coding challenges related to React.
  • JavaScript Fundamentals: Master JavaScript fundamentals such as object manipulation (especially deep copying), class implementation, OOP concepts, array methods, and data structure operations.
  • Behavioral & Leadership: Prepare answers using the STAR format. Highlight experiences in conflict resolution, team collaboration, mentorship, and demonstrating technical ownership.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!