Interview Experience - 122 - PayPal | Software Development Engineer | SDE2
Summary
📌 Job Role: Software Development Engineer
🔢 Number of Rounds: 3
📜 Offer Status: Rejected
📍 Location: Bangalore
👤 Candidate Name: Not disclosing due to signed NDA
Interview Process
This was part of a PayPal hiring drive conducted in Bangalore. The entire process, except for the initial online assessment, was held on a single day. The drive was streamlined with back-to-back technical rounds.
The initial test was shared a few days prior and acted as a filter for the onsite rounds. Once shortlisted, I was called in for three technical interviews conducted consecutively.
Preparation Guide
Most of my preparation came from reading detailed interview experiences shared by other candidates. These real-world examples helped set my expectations and refine my preparation strategy.
Here are a few that I found particularly useful:
Interview Rounds
Round 1: Coding
Duration: 60 minutes
Difficulty Level: Medium
Experience:
The first round focused on solving algorithmic problems in an online shared coding environment. I was given two problems:
Find all duplicates in an array:
I was expected to solve this with O(1) space, which ruled out standard solutions involving hash maps or sets. It required an in-place approach that modified the array during traversal.Kth largest element in an array:
I chose to use a Min Heap of size k. The interviewer asked questions about time and space complexity, and we discussed the pros and cons of quickselect vs heap-based solutions.
The interviewer kept the discussion focused and occasionally gave nudges when I seemed stuck. The round was manageable but tested optimization skills.
Key Learnings:
Practice constraints-driven problem solving, especially with space complexity restrictions.
Get comfortable with in-place algorithms and heap operations.
Explain your approach clearly while coding.
Round 2: Java
Duration: 75 minutes
Difficulty Level: Difficult
Experience:
This was the most challenging round of the day. It focused on core Java, design fundamentals, and threading concepts. The questions were layered and designed to test deep understanding, not just surface-level syntax.
The questions asked included:
Print 1 million numbers in sequence using multiple threads without synchronization:
I struggled with this problem. The constraint around not using synchronization while ensuring sequence was difficult, and I couldn't come up with a clean solution during the interview.Guidelines around package and module dependencies:
I was asked how to structure code to reduce tight coupling and improve maintainability. The interviewer expected familiarity with modularization techniques.Why are cyclic dependencies bad?
We discussed the issues cyclic dependencies can introduce, especially in large codebases, and how they impact testability and scalability.Create a class where data members can only be set once:
I implemented a basic immutable class usingfinalfields and private constructors.Override
hashCode()andequals()for quick retrieval in collections:
The interviewer gave a use-case scenario and asked how I would implement custom equality logic for efficient lookups.
This round tested both depth and clarity of thought. I found the threading and module design questions to be particularly demanding.
Key Learnings:
Be well-versed in Java threading, object immutability, and class design.
Understand how to reason about dependency management and modular programming.
Practice writing and reasoning about
hashCode()andequals()implementations in context.
Round 3: Hiring Manager
Duration: 75 minutes
Difficulty Level: Medium
Experience:
This round was more conversational but still technical. The hiring manager focused on evaluating fit, depth of project experience, and basic design ability.
Breakdown of the discussion:
30 minutes: We did a deep dive into a key project from my current role. I was asked to walk through the architecture, explain trade-offs, sketch an architecture diagram, and highlight various use cases. The discussion was interactive, with a lot of "why this way and not that" type of follow-ups.
10 minutes: A short system design problem — I was asked to model the object design for an e-commerce platform (similar to Amazon). I had to define the class structure for basic features like browsing products, adding to cart, and placing orders. This was more about OO modeling than distributed systems.
10 minutes: The manager gave me an overview of the team, their tech stack, current initiatives, and challenges.
10 minutes: I asked a few questions about the role, the team’s culture, and growth opportunities. The manager was receptive and gave honest, in-depth answers.
This round was enjoyable. It helped me get a clear picture of the work the team does and gave me a chance to showcase my project experience.
Key Learnings:
Be ready to discuss projects in depth — not just implementation, but architecture and trade-offs.
Object modeling and basic system design can be expected even in hiring manager rounds.
Have thoughtful questions prepared to evaluate the team and role.
Final Thoughts
Although I did not receive an offer from PayPal, I walked away with a lot of insight. Here are a few takeaways that could help others:
The process is efficient but intense, especially if all rounds happen on the same day.
PayPal expects strong fundamentals in Java, particularly around threading, collections, and class design.
Coding rounds may impose constraints that require optimal or non-obvious approaches — practicing with those constraints is essential.
Hiring Manager rounds are not just behavioral; they often go deep into your technical background and reasoning.
My biggest takeaway was the need to prepare beyond just solving LeetCode problems — having architectural awareness, threading knowledge, and clean object-oriented design skills is just as critical at the SDE2 level.


