PhonePe interview experience No offer
Summary
I interviewed for a Senior SDE position at PhonePe, navigating through machine coding, system design, problem-solving, and hiring manager rounds. Despite a strong performance in most stages, I ultimately did not receive an offer.
Full Experience
I recently interviewed for a Senior Software Development Engineer position at PhonePe. My journey began with a call from a consultant, leading me into a multi-round interview process.
My first round was a Machine Coding challenge. I was tasked with creating a cab management system, with a strong emphasis on design principles and modular coding. This round involved an hour-long discussion.
The next day, I received positive feedback that I had cleared the machine coding round and was invited for a System Design interview. In this round, I first had to explain my current project. Following that, I was asked to design a distributed ID generator capable of handling 1 million requests per day. Luckily, I had previously practiced this specific problem during mock interviews, even referencing a resource (link). I walked them through the features list, back-of-the-envelope estimations, and discussed potential concerns and issues. Topics like virtual nodes, partitioning issues, and consistent hashing were also part of the conversation.
Two days later, I got feedback that I was moving to the Problem Solving round. The first problem given was Rotting Oranges. I coded this completely, focusing on modularity, and achieved an optimized time and space complexity. The second problem was Longest Valid Parentheses, which I solved using a stack and in optimized time, explaining my approach with pseudocode. In the last 5-10 minutes, I was given Daily Temperatures. I explained a brute force approach but struggled to arrive at an O(n) solution within the remaining time.
After that, I was scheduled for the Hiring Manager round within 2-3 days. The hiring manager was a very experienced individual. He primarily inquired about my current project and daily work. He then presented a simple design problem: how to design search functionality, asking questions about estimations and suitable technologies.
I was hopeful for a positive outcome, but I was informed by the consultant that they wished for one more PS or System Design round (the exact round wasn't clear as HR conveyed this personally to the consultant). I was ready for it, but the very next day, I received an email stating that they had decided not to move forward with my candidacy. I didn't receive any proper feedback. However, I must say that the interviewing staff was good, and the quality of the interviews was high.
Interview Questions (6)
Design and implement a cab management system, focusing on design principles and modular coding. This involved an hour-long discussion on the design and implementation aspects.
Design a distributed unique ID generator capable of handling 1 million requests per day. The discussion included exploring features, conducting back-of-the-envelope estimations, and addressing potential concerns and issues. Specific topics like virtual nodes, partitioning issues, and consistent hashing were also covered.
You are given an m x n grid where each cell can have one of three values: 0 representing an empty cell, 1 representing a fresh orange, or 2 representing a rotten orange. Every minute, any fresh orange that is 4-directionally adjacent to a rotten orange becomes rotten. Return the minimum number of minutes that must elapse until no fresh oranges are present in the grid. If this is impossible, return -1.
Design a search functionality for a system, discussing various aspects such as estimations and appropriate technologies.
Preparation Tips
My preparation involved practicing system design questions in mock interviews, which proved highly beneficial for the distributed ID generator problem. For coding rounds, I focused on practicing problems from platforms like LeetCode.