Summary
I applied for an SDE-1 Java OOPS position at Mastercard via a referral and went through a 4-week interview process. Despite making it through multiple technical rounds, I received a rejection, which HR attributed to a lack of balance across competencies, possibly due to my primary backend experience being in Node.js instead of Java.
Full Experience
My Mastercard SDE-1 Interview Experience
I recently had an interview experience for an SDE-1 role at Mastercard in Pune. I applied through a referral, which was lucky this time as my previous two applications hadn't yielded any response. The entire process took about 4 weeks.
HR Round
My journey started with an HR call. It was a pretty casual chat where we discussed my current role, tech stack, and salary expectations. The HR representative also explained the full interview process and confirmed that the job location would be Pune. It felt like a basic fit and interest check.
Tech Round 1 (Screening)
This was the initial screening round, which was quite conceptual and straightforward. I was asked to explain OOPs to a 5-year-old, which was an interesting way to test my understanding. Following that, we delved into a system design problem: I had to design a car system, considering various models, engines, and applying appropriate design principles/patterns. The round concluded with a coding challenge to print prime numbers within a given range.
Superday (3 Non-Eliminatory Rounds)
The Superday was intense, comprising three non-eliminatory technical rounds back-to-back.
Round 2 (Tech SME)
In this round, the interviewer focused heavily on OOPs, specifically asking me to elaborate on the four pillars of OOPs with examples. For coding, I was given the 'Valid Parenthesis' problem and asked to handle all edge cases. We also spent a significant amount of time discussing my current projects, and I was tasked with implementing a basic LinkedList.
Round 3 (Bar Raiser)
This round was quite challenging. I was given two buggy Java code snippets to debug—one related to file handling and another involving the Singleton design pattern. The main coding question was 'Decode String,' a well-known LeetCode problem. Unfortunately, I struggled and couldn't complete it under the pressure.
Round 4 (Hiring Manager)
The final round was with the Hiring Manager. It covered Java and OOPS basics. For coding, I was given what was described as an 'easier version' of the Longest Increasing Subsequence problem. The rest of the discussion centered around my projects, achievements, and my reasons for wanting to join Mastercard.
Result
About a week after the interviews, I received a polite rejection. The HR representative mentioned that they selected a candidate who showed a more balanced performance across all competencies. I believe my primary backend experience in Nest.js (Node) rather than Java might have been a contributing factor to this outcome.
Interview Questions (9)
I was asked to explain the core concepts of Object-Oriented Programming (OOPs) in a simplified manner suitable for a 5-year-old.
Design a car system, including its various models and engine components, by applying appropriate design principles and patterns.
Write a program or algorithm to print all prime numbers that fall within a specified numerical range.
I had to explain the four fundamental pillars of Object-Oriented Programming (OOPs) and provide concrete examples for each.
Implement the fundamental structure and basic operations of a singly linked list data structure.
Identify and fix bugs in two provided Java code snippets. One snippet dealt with file handling, and the other involved the Singleton design pattern.
Solve a variation of the Longest Increasing Subsequence (LIS) problem, explicitly stated as an 'easier version'. The task involves finding the longest subsequence of a given sequence such that all elements of the subsequence are sorted in ascending order.
Summary
I interviewed for a Senior SDET role at Mastercard in Pune, undergoing two technical rounds with a focus on Java concepts and coding problems. Despite answering most coding questions correctly and discussing joining timelines, I was ultimately not selected.
Full Experience
I applied for the Sr SDET position at Mastercard through their career portal.
My first round was a 30-minute technical screening with the hiring manager. We discussed basic Java questions, like reversing a string and writing XPath. The interviewer was very helpful, explaining the product I'd be working on and my main roles and responsibilities.
The second round was a 1-hour technical interview. Most questions were tricky Java concepts, with little focus on Selenium, Playwright, RestAssured, or design patterns. We covered various Java concepts and then moved to coding questions. I managed to answer all coding questions correctly, although I missed a few Java concept questions. Towards the end, the interviewer asked about my availability to join and reiterated the role's responsibilities, which made me hopeful. However, I never received a callback from HR.
Ultimately, I was not selected for the position. I estimate the compensation for a Sr SDET with 7+ years of experience at Mastercard to be around 25 LPA, including a 10% variable.
Interview Questions (10)
How to reverse a string in Java.
How to write an XPath expression.
What are different ways to create an object in Java?
- Can we create an object of an abstract class?
2. Does an abstract class have a default constructor?
3. If an object cannot be created from an abstract class then why do we have a constructor in an abstract class?
- Can we have a final constructor in Java?
2. Can we have a static constructor in Java?
What will be the output of the below code:
String s= 21+"abc"+ 49 +14; System.out.println(s);
What will be the output of the below code:
String s= 21+ 49+"abc"+ 14; System.out.println(s);
The classic Fizz Buzz problem.
Suppose there are 2 arrays having integers. Create array number 3 which has all elements from array 1 and array 2. There is 1 condition that you can use for loop only once while solving the problem.
Input : arr1 : {1,2,3,4, 5} & arr2 : {6,7,8,9,10}
Output : arr3 : {1,2,3,4, 5, 6,7,8,9,10}
Swap immediate elements in array.
Input : array : {18,45, 7,10,5}
Output : array :{45,18,10,7,5}
Summary
I interviewed for a Software Engineer role at Mastercard in Pune in September 2024 and successfully received an offer. The process included an online assessment, two technical rounds, and a final HR discussion.
Full Experience
My interview journey for the Software Engineer position at Mastercard in Pune began with an Online Assessment. This round consisted of two coding questions, and I had one hour to complete them.
The first Technical Round, lasting between 20 to 50 minutes, started with my introduction. Following that, I was given a Data Structures & Algorithms question to determine if two strings were anagrams. The interviewer then delved into Object-Oriented Programming, asking me to explain polymorphism with an example. Next, I faced a DBMS question, where I had to explain the ACID properties. Finally, I discussed my projects in detail, including the rationale behind my technology stack choices.
The second Technical Round, approximately 50 minutes long, commenced with the interviewer reviewing my resume thoroughly. The first major question was a system design problem, asking how a lift works. The interviewer then simplified it to a scenario with only one user, which I successfully solved. Following this, I was presented with a classic puzzle: "There are two bulbs inside a room and two switches outside. You can enter the room only once. Identify which switch belongs to which bulb." The interviewer further explored this by asking for variations such as 3 bulbs 1 switch, 3 bulbs 3 switches, and 2 bulbs 3 switches. We then moved on to questions related to my project, database concepts, and various API operations. Towards the end, some HR-like questions were asked, covering my family background, academic performance (10th, 12th, current CGPA), positions of responsibility, and hobbies.
The final HR Round, a brief 10-15 minute session, started with my introduction. The interviewer asked standard HR questions like "Why a finance firm?" and "Why Mastercard?" We also discussed the role and compensation. Similar to the previous round, I was asked about my family background and positions of responsibility.
Ultimately, I was selected and received an offer for the Software Engineer role.
Interview Questions (5)
Check if two given strings are anagrams of each other.
Explain the concept of polymorphism in Object-Oriented Programming (OOPS) with a suitable example.
Explain the ACID properties (Atomicity, Consistency, Isolation, Durability) in the context of Database Management Systems (DBMS).
Design how a lift (elevator) system works. The question was later simplified to consider only one user using the lift.
There are two bulbs inside a room and two switches outside the room. You can enter the room only once. You need to identify which switch belongs to which bulb. The interviewer also modified this question with multiple variations like 3 bulbs 1 switch, 3 bulbs 3 switches, and 2 bulbs 3 switches.
Summary
I recently completed my first interview round for the SDE-II role at Mastercard, which covered a mix of data structures, system design, and core Java concepts.
Full Experience
I had my initial interview round for the SDE-II position at Mastercard. The discussion was quite comprehensive, starting with a fundamental data structure problem. Following that, we delved into my previous project experiences. The interview then transitioned into system design, covering topics like architectural choices and scalability techniques. Towards the end, there were specific questions related to Java streams, object-oriented design principles, and general software development practices like code reviews.
Interview Questions (8)
Given a singly linked list, find and return its middle element.
Discuss the circumstances and trade-offs that lead to choosing between a monolithic architecture and a microservices architecture.
Explain the concept of sharding in distributed systems, including its purpose, different strategies, and potential challenges.
Describe consistent hashing, its benefits, and how it is applied in distributed systems for load balancing and fault tolerance.
Write a function to convert a numerical value into its word representation according to the Indian numeral system. For example, 1,23,45 should be converted to 'one lakh twenty three hundret fourty five'.
Provide a practical example demonstrating the Interface Segregation Principle (ISP) from the SOLID principles.
How do you approach and conduct code reviews effectively? Describe your typical process and what you look for.
Explain the Template Method design pattern, its structure, and when it is appropriate to use it.