Interview Experience - 130 - PhonePe | Software Engineer | Software Engineer 2
Summary
📌 Job Role: Software Development Engineer
🔢 Number of Rounds: 3
📜 Offer Status: Offer
📍 Location: Bangalore
👤 Candidate Name: Not disclosing due to signed NDA
Interview Process
My interview process with PhonePe started in May 2022, and the final offer was extended in June 2022. The role was for SDE2, which meant that the expectations were higher in terms of system design and coding proficiency. The entire process comprised three rounds:
Machine Coding Round
High-Level Design (HLD) Round
Hiring Manager Round
Each round tested different aspects of problem-solving and system design capabilities, with a strong focus on practical implementation and scalability of solutions.
Interview Preparation
I did not refer to any specific platform or course. My preparation was mostly based on hands-on experience, prior project work, and brushing up on fundamental concepts related to system design, object-oriented programming, and scalability patterns.
Interview Rounds
Round 1: Machine Coding Round
Duration: 90 minutes + 15 minutes review
Difficulty Level: Medium
Experience
The first round was a machine coding round, which involved building a feature-rich backend for a product search system for an e-commerce platform, similar to Amazon or Flipkart.
Requirements included:
Create, update, delete for both categories and products
Search functionality based on product attributes like brand, name, or type
Sponsored products or brands needed to be shown at the top of the search results
Test cases were mandatory to showcase the implementation
A strong object-oriented design was expected
After completing the implementation in 1.5 hours, there was a 15-minute review session with the interviewer where I was asked to walk through the code and explain design choices. The focus was not on optimizing search algorithms but rather on how extendable and modular the code was.
Key Learnings
Code extensibility was prioritized over algorithmic complexity.
Ensure the solution is functionally complete, with clearly defined test cases.
Stick to clean OOP principles while designing a modular and scalable solution.
Round 2: High-Level Design (HLD)
Duration: ~60 minutes
Difficulty Level: Difficult
Experience
This round tested my ability to think at a system level, particularly for a large-scale distributed system. The problem was to design a search engine that could scale to Google-level user load.
The discussion was broken down into two main parts:
A crawler service responsible for scraping web pages and storing data
A query service that fetches and compiles results from the storage to serve user queries
The interviewer focused heavily on:
Service decomposition
Ensuring the system was distributed and fault-tolerant
Database choices for different data types — when to use a NoSQL vs SQL solution
Efficient data flow and indexing mechanisms
It was a deep dive into how you’d actually engineer a production-grade search engine.
Key Learnings
Think in terms of services and responsibilities — don’t lump all logic into one place.
Highlight trade-offs between latency, scalability, and data freshness.
Have a clear understanding of storage technologies and when to use what.
Round 3: Hiring Manager Round
Duration: ~60 minutes
Difficulty Level: Difficult
Experience
The final round was a grilling session with the Hiring Manager. It started with an in-depth discussion of my past projects. The interviewer asked probing questions about:
Design decisions
Real-world constraints
Monitoring and observability
Trade-offs made during development
After that, I was asked to design a distributed compute cluster capable of supporting:
Real-time analytics and monitoring
Features like job monitoring, log streaming, and status dashboards
Health metrics for all databases, file systems, and servers involved
The problem was intentionally open-ended, and the interviewer encouraged me to ask clarifying questions. After some back-and-forth, I proposed a system that met the basic expectations.
Key Learnings
Always be prepared to discuss past projects in depth, especially architectural and trade-off decisions.
For open-ended design problems, it’s critical to engage the interviewer, ask the right questions, and narrow down the scope.
Emphasize observability and system health, which are increasingly important in real-world production systems.
Final Thoughts
Overall, PhonePe's interview process for SDE2 was rigorous but fair. Each round had a distinct focus — coding, system design, and architectural thinking. Some key takeaways that might help fellow candidates:
Machine Coding is more about clean, modular design than clever algorithms.
For HLD, make sure you’re comfortable with distributed systems, service decomposition, and database design.
Be ready to defend your project decisions and communicate trade-offs clearly during the Hiring Manager round.
Don’t shy away from asking questions in open-ended rounds — it shows maturity and collaboration.
If you're targeting a similar role, focus not just on problem-solving but also on production-readiness, scalability, and clean code practices.