# PhonePe Interview Experience for Software Engineer (On-Campus) Aug 2022

**PhonePe** visited our college, PEC – Chandigarh on 3-4 August – 22, and everything was conducted in Offline mode.** Eligibility Criteria: **Open to all branch students from the Final year, with ≥ 60% score across class X, XII and Engineering Semesters. According to our criteria, 181 people were eligible for the OT round. There were 4 rounds in the whole process.

**Round 1 – (Online Test)(HARD): **Total Time – 90 minutes. It was comprised of 4 Coding Questions and was conducted on the DoSelect Platform on the 3rd Aug Evening. The platform was in general very good but the compiler was a little bit slow. Each of the Questions was of a HARD level. Questions were given in random order difficulty-wise.

**Question-1:**https://leetcode.com/problems/split-array-largest-sum/

The logic of the problem was the same as this problem but the question language was difficult to interpret. I was able to pass 7 test cases out of 10 test cases of this question.**Question-2:**https://www.geeksforgeeks.org/m-coloring-problem-backtracking-5/

We were given the variation of this problem as we were given to print the color of each node from the given 4 colors and the cost of each color was also given and we were asked to color the graph at minimum cost. I was able to pass 7 test cases out of 9 test cases of this question.**Question-3:**Hard Problem of DP.

In this problem, we were given N people and 2 arrays one of the Scores and the other of Bound on N people’s. The initial Score to pass a certain test was 0 and any person is considered to pass if their score is greater than the variable score after passing the test its value is not considered and its bound value gets added to the score. We have to calculate the maximum number of people that can pass the test.**Question-4:**Given 2 arrays A and B. B is the permutation of array A. Sadness is defined as the most jumbled permutation of array A. Ex:

A: 1 3 2 2

B: 1 2 3 2

This is not the maximal sad array pair as the saddest would be 2 2 3 1. return if array b is the most sad array possible.

The cutoff of this round was 13 test cases in total and 18 were shortlisted for next round out of 181 Candidates.

**Round 2 – (Technical Round) (Time – 60 minutes)(HARD): **Firstly I was asked to introduce myself after the introduction the interviewers( As there were 2 interviewers) shifted to DSA and asked me a couple of Questions.

**Question-1:**https://practice.geeksforgeeks.org/problems/burning-tree/1

Firstly, I explained the BFS approach and the interviewer was happy with my approach and asked me to write the pseudocode on paper I was able to write it properly and both the interviewer understood as well. Then I was asked to implement the recursive approach(DFS) for it and I was able to do that as well and both of them were satisfied with my approach.**Question-2:**https://www.geeksforgeeks.org/sum-of-minimum-elements-of-all-subarrays/

Firstly, I explained the Brute force approach of N^2 complexity the interviewer was satisfied with it but asked me to further optimize it and then I explained it using a Stack with O(N) complexity, and then one of the interviewees pointed out some test cases where my code would fail then I was able to correct my code and at the end, both of them were satisfied with my approach.

11 out of 18 were Shortlisted for the next round.

**Round 3 – (Technical Round)(Time – 60 minutes)(HARD): **In this Round, I was not asked to introduce myself straight on the DSA questions asked.

**Question-1:**https://www.geeksforgeeks.org/print-all-combinations-of-balanced-parentheses/

I explained the Recursive approach(Brute Force) and the interviewer was satisfied with my approach.**Question-2:**https://www.geeksforgeeks.org/burst-balloon-to-maximize-coins/

In this question I was able to explain the complete approach and write the value dp[i][j] will store then the interviewer asked me to write the complete code but i was not able to write it but the interviewer was satisfied with my approach.**Question-3:**https://www.pepcoding.com/resources/data-structures-and-algorithms-in-java-levelup/graphs/optimize-water-distribution-official/ojquestion

Firstly, I explained the approach(MST) that we will follow for pipes and used the power set approach for digging wells then the interviewer asked me to further optimize. As I was not able to come up with an optimal approach for digging wells so the interviewer provided me with one hint and then I was able to explain the complete approach.

5 out of 11 were Shortlisted for the next Round.

**Round 4 – (HR + Technical Round)(Time – 70 minutes)(HARD): **This Round was Scheduled to be an HR round but for me, I would be HR + Technical. In this round firstly I was asked company-related questions-

- Why PhonePe?
- Why not choose companies like Google, and Amazon which are offering much higher than PhonePe?
- Which thing made you choose PhonePe?

Then I was asked in-depth about my project (E-Commerce Web Application) in which I had used the Django REST Framework as I built the project myself so I was able to all the answers that the interviewer threw on me. Then I was asked to solve a puzzle firstly I was given this puzzle then he asked various questions on that puzzle-

You have 12 rats. One rat eats faster than the other 11 (and the other 11 eat at an identical pace). You have 4 cakes (which the rats do want to eat). You can put as many rats on a cake as you want at a time, and you can use as many cakes at a time as you want. Qn: Give me a way to find the faster rat.

**Question 1-**The puzzle remains the same but you are given 16 rats instead of 12.**Question 2-**Determine the maximum number of rats from which we can find the faster rat using 4 cakes.

For this, I was able to come up with a solution for up to 36 rats but the interviewer was not completely satisfied as the answer could be more I explained to the interviewer that the answer would lie in the 36-48 range and the interviewer agreed to it but I was not able to come up with an exact solution. Then the interviewer asked me some CS subjects questions.

- Difference between Stack memory and heap memory?
- What is inheritance?
- What is the Virtual function and class in C++? Its applications?
- What is Deadlock? Conditions for Deadlock? A general Scenario where deadlock may occur?

Then he started to ask me DBMS questions as I was not prepared for it I told the interviewer that I don’t know DBMS. Then he asked me to Design a System for a Single Lift with 1000 building floors. I explained my approach to him then seemed satisfied with my approach and then he changed the problem to implement the design for 3 lifts and asked which data structures will be used. Then I explained my 2 approaches one using a map and different classes for each lift he doesn’t seem satisfied with this approach then I explained using virtual classes and using maps then he seemed satisfied with this approach.

4 were selected and I was one of them.

**Result-** SELECTED!!!

This was a great achievement for me from not getting an intern to getting a placement at the first company visiting our campus that to on the Zero days of the Placement Cycle.

Keep Working Hard!!!!

Time to give back to society 🙂

## Please

Loginto comment...