Round 1: Machine coding
Questions:
- Design a system which will maintain the version history of updates.
- Create document
- Update document
- Change version of document
- Go to a particular version of document
- Delete a document
- Additional Requirement:
- User can do operations based on the access given
- You have to see the question from the CodeSignal test and code in your IDE. Allotted time 2 hours but can take 30 minutes more, submit the code in a zip file over mail.
- After a couple of days, one engineer connected on a 30-minute call to review the design. He did not go very deep into algorithms, just was interested in the classes. He liked the design but asked how much time I took as I had written so much code and so many classes. I told 2 hours and some 20 minutes more. He said okay, HR will contact you. We reviewed the design on my laptop and not the one which I sent over mail. But I didn’t make any improvements after the submission.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 2: PS/DS
Questions:
- In an array of integers, count the maximum integers you can add such that at any point they never go negative from left to right. The question was given in a scenario and it boils down to this question.
- Explained and wrote code but had a typo which cost 5 extra minutes.
- [sum-of-distances-in-tree] LC hard
- Started with O(n*n) and eventually provided an O(n) solution. He asked to write pseudocode only as the time was less.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 3: HM
Questions:
- General introduction about PhonePe's business evolution.
- Why are you switching? What happened in the last company?
- Business side of previous organization?
- Why did you switch the database from DynamoDB to Postgres?
- Types of indexing on PostgreSQL?
- Questions around the project: what you did and why you did it?
- At last, a question: you are getting different types of exceptions in the service. You have to send alerts if a particular type of exception frequency exceeds a limit in a rolling time window.
- For example: if exception type A exceeds 5 times in 30 minutes or exception B exceeds 10 times in 1 hour.
- I provided a deque solution but she was not satisfied, stating that all operations will not be O(1).
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 4: PS/DS - onsite
Questions:
- Longest continuous subarray with absolute difference less than or equal to limit: Question available with this heading in LeetCode.
- I started with an O(nnn) solution and optimized it to O(nnlogn), then O(n*(logn)^2), then O(n log n), and finally the most optimal solution O(n).
- Later on, he asked to write pseudocode.
- After the n log n solution, he gave a hint to try using some different data structures.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 5: HM round again with 2 managers but with name Bar raiser
Questions:
- What is the difference you found between the last 2 organizations you worked at?
- What do you want to improve in the next 5 years?
- What hobbies do you have apart from work?
- Why PhonePe?
- What factors do you consider when joining a company?
- Why did your company move from DynamoDB to PostgreSQL?
- Did you try to know the reason for this? I provided a few reasons and mentioned I was supposed to do only as SDE 1. But they wanted “why you are doing and what are you doing”.
- If I gave you the task to build a service from scratch, can you do it alone? Or will you need someone’s help?
- I said yes, I need someone to give/discuss a roadmap.
- A time when you had a conflict with some team member?
- I shared a scenario of optimizing a query, where they also mentioned many aspects like indexing on the column in the query, size of the database, and more.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Next day, I received the mail with an offer.