Mastercard Interview Experience | OA → GD → Technical → HR
🏢 Company & Role
Company: Mastercard
Role: Software Engineer I
College: Pune Institute of Computer Technology (PICT)
Branch: Information Technology
Batch: 2027
Mode: On-Campus Placement
📌 Selection Process at a Glance
The overall selection process consisted of:
Online Assessment → Group Discussion → Technical Round 1 → Technical Round 2 → HR Round
Around 360 students appeared for the Online Assessment, out of which 34 students were shortlisted for the further GD and interview process.
💻 Round 1: Online Assessment
Platform: HirePro
Questions: 2 DSA Coding Questions
Difficulty: Hard
The OA consisted of two DSA problems. Both questions required understanding the underlying algorithm rather than simply implementing a standard data structure.
1️⃣ Modified BFS - Virus Containment
The first problem was based on Breadth-First Search (BFS) on a 2D grid.
The problem involved simulating the spread of a virus day by day. The task was to:
Identify connected infected regions using BFS.
Determine which uninfected cells each infected region could potentially infect.
Select the region that threatened to infect the maximum number of uninfected cells.
Quarantine that region.
Continue the simulation for subsequent days.
The solution required combining BFS, connected-component identification, simulation and a greedy strategy.
I was able to solve this question completely, with all test cases passing.
2️⃣ Trie - Minimum Nodes in a Prefix Tree
The second problem was based on Tries (Prefix Trees).
Given N words, the objective was to construct a Trie while being allowed to permute the characters of each word in any order, with the goal of minimizing the total number of Trie nodes.
This required thinking about how the characters of each word could be arranged to maximize prefix sharing between words.
I was able to solve the problem partially, with some of the test cases passing.
📊 OA Result
Students Appeared: ~360
Students Shortlisted: 34
Clearing the OA was the first major step, and the relatively small number of students shortlisted made the subsequent rounds quite competitive.
🗣️ Round 2: Group Discussion
The first interview-stage round was a Group Discussion (GD).
Group Size: 11 students
Topics: General/current technology and personal-development topics
Elimination: Around 8–9 students were eliminated from the group.
Some of the topics discussed were:
AI - Threat or Opportunity?
Cybersecurity Threats in the Digital Age
Smart Work vs Hard Work
The discussion focused not only on the points we presented but also on how effectively we communicated, listened to others, built upon their points and maintained a meaningful discussion.
💡 My Takeaway
For GDs, simply having knowledge about the topic is not enough. It is equally important to:
Start the discussion confidently when possible.
Structure your points logically.
Give relevant examples.
Listen to other participants.
Avoid interrupting unnecessarily.
Build on someone else's point when appropriate.
Disagree respectfully.
Make sure you contribute multiple meaningful points rather than speaking just for the sake of participation.
Conclude or summarize the discussion if you get the opportunity.
💻 Round 3: Technical Interview 1
The first technical interview consisted of three major questions, covering System Design, DSA and a practical software-engineering situation.
1️⃣ LLD – Library Management System
The first question was a Low-Level Design (LLD) problem.
Requirements:
A member can have a maximum of 5 books issued at a time.
A book can have multiple physical copies.
I was asked to design the system by identifying:
Classes
Data members
Methods/functions
Relationships between the classes
How the different components would interact
I designed the required classes and explained the flow of issuing and returning books while taking the above constraints into consideration.
This question mainly tested my understanding of Object-Oriented Programming and Low-Level System Design.
2️⃣ DSA - N Meetings in One Room
The second question was a well-known Greedy Algorithm problem:
Given a set of meetings with their start and end times, select the maximum number of meetings that can be conducted in a single room without overlapping.
The key idea was to sort the meetings based on their finishing time and greedily select the next meeting whose starting time is compatible with the previously selected meeting.
3️⃣ Situational Question - Using AI to Generate Code
The final question was more practical and focused on modern software development.
The interviewer asked:
"If you use AI to generate code, how would you determine whether the generated code is correct?"
I discussed multiple approaches, including:
Reviewing the generated code.
Asking the AI to explain its implementation and reasoning.
Understanding the logic instead of blindly accepting the generated code.
Most importantly, testing the code.
I mentioned different levels of testing such as:
Unit testing
Integration testing
Edge-case testing
Functional testing
Regression testing, wherever applicable
The key point was that AI-generated code should be treated like code written by another developer—it still needs proper review and testing before being trusted.
🏗️ Round 4: Technical Interview 2
The second technical interview was broader and focused heavily on my:
Projects
Internships
Technical skills
Software development experience
The interviewer discussed my projects and internships in detail and asked questions based on the technologies and concepts mentioned in my resume.
There was also an HLD (High-Level Design) question.
🏢 Area Management System
The problem was to design a system for an area containing:
N buildings
Each building has M floors
Each floor has K flats
Around 1 million users
The system needed to provide services such as:
Plumbing
Electrical services
Other maintenance-related services
The discussion focused on how such a system could be designed to handle a large number of users and service requests.
This round helped me understand the importance of being able to move beyond just writing code and think about:
Scalability
System architecture
APIs
Database design
User/service management
Handling large numbers of requests
👨💼 Round 5: HR Interview
The final round was the HR interview.
The questions were primarily focused on getting to know me beyond my technical resume and understanding my career interests and background.
Some of the questions included:
About Me
Tell me about yourself.
Introduce yourself without talking about your resume.
Tell me about your family.
Which domain would you like to work in?
What are your areas of interest?
Internship Related
Tell me about your internships.
What did you work on during your internships?
Did you receive a PPO from your internships?
What did you learn from your internship experiences?
Placement / Career Related
Tell me about your previous two interviews.
Did you do a summer internship in your third year?
What kind of role/domain are you interested in?
Do you know about the CTC breakdown?
The HR round was conversational but required clarity about my own background, career goals and previous experiences.
🎯 Overall Experience
My overall Mastercard selection process was a great learning experience because every round tested a different skill.
The OA focused heavily on DSA and problem-solving.
The GD tested communication, confidence, awareness and teamwork.
The first technical round tested DSA, OOP/LLD and practical software engineering thinking.
The second technical round went deeper into projects, internships, technical skills and HLD/system design.
Finally, the HR round focused on personality, communication, career interests and background.
What I particularly liked about the process was that it wasn't limited to solving DSA problems. It also tested whether a candidate could design systems, explain technical decisions, discuss real-world software development practices and communicate effectively.
📚 What I Would Recommend Preparing
Based on my experience, I would recommend preparing the following areas:
DSA
Arrays
Strings
Linked Lists
Stacks & Queues
Trees
Graphs
BFS / DFS
Greedy Algorithms
Tries
Sorting
Basic Dynamic Programming
OOP & LLD
OOP principles
SOLID principles
Classes and objects
Inheritance
Polymorphism
Abstraction
Encapsulation
Relationships between classes
Common LLD problems
System Design
HLD fundamentals
Scalability
Load balancing
Database design
API design
Caching
Basic distributed-system concepts
Projects & Internships
Know your resume extremely well.
Be prepared to explain:
Why you selected a particular technology.
How your architecture works.
Challenges you faced.
How you solved those challenges.
Database choices.
Security considerations.
Deployment.
Your individual contribution.
Possible improvements.
HR & GD
Prepare:
Self-introduction
Strengths and weaknesses
Career goals
Why Mastercard?
Why should we hire you?
Internship experiences
Current technology trends
AI
Cybersecurity
Banking and financial technology
General GD topics
💡 Final Tips for Future Aspirants
Don't prepare only DSA. The interview process can cover DSA, OOP, LLD, HLD, projects, internships and HR.
Know your resume inside out. Anything written on your resume can become an interview question.
Practice explaining your projects aloud. Understanding a project and explaining it clearly are two different skills.
For system-design questions, clarify requirements first before jumping into classes or architecture.
For DSA, focus on the approach. Interviewers are interested in how you think, not just whether you remember a solution.
For GD, communication matters as much as content. Listen, participate and build on the discussion.
Don't blindly trust AI-generated code. Understand, review and test it thoroughly.
Stay calm when you don't immediately know an answer. Think aloud, clarify the problem and work toward a solution.
Prepare beyond your comfort zone. Questions like Tries, LLD and HLD may appear even if they aren't your strongest areas.
Be genuine in the HR round. There is no need to give memorized answers.
🚀 Final Note
The entire process taught me that a software engineering interview is not just about solving coding problems. It is about problem-solving, designing solutions, understanding your own work, communicating your ideas and showing that you can learn and adapt.
I hope this experience helps future PICT students prepare better for their placement journey.
All the best to everyone preparing for placements! 💙