PhonePe | Software Engineer - Android | 3+ years
Summary
I successfully interviewed for a Software Engineer - Android role at PhonePe in Bangalore, which involved an online assessment, two technical rounds focusing on DSA and Android, a machine coding round, and a hiring manager discussion, ultimately leading to an offer.
Full Experience
I had a comprehensive interview experience for the Software Engineer - Android position at PhonePe, spread across five distinct rounds.
Round 1: Online Assessment
This round was an hour-long online test. It comprised 10 Android Multiple Choice Questions (MCQs) and one Data Structures & Algorithms (DSA) question, which was of medium difficulty.
Round 2: Problem Solving/Data Structures
Originally scheduled for an hour, this round extended to 1 hour and 30 minutes. I was presented with two LeetCode medium-level questions, primarily revolving around Graphs and Arrays. I was expected to write fully functional code, test it with various inputs, and finally discuss the time complexities of my solutions.
Round 3: Platform (Android)
This one-hour round began with basic introductions. Following that, the discussion delved deeply into all major Android components, covering their functionalities and interconnections.
Round 4: Machine Coding
For this 1 hour 30-minute machine coding round, an online platform link was shared. The core task was to design a utility function for an Android application to synchronize contacts between the device and the backend. I initiated by asking clarifying questions and outlining the assumptions I would make. I was expected to structure different Android layers and define models necessary for API calls. After completing the basic implementation, the interviewer presented several subtasks, such as managing contacts for multiple devices for a single user, which I then had to address.
Round 5: Hiring Manager
The final round, lasting an hour, started with introductions and a thorough walkthrough of my resume. The interviewer then inquired about challenges I had faced in my previous jobs. Following this, they picked up on some Android technical terms I had used and conducted a deep dive into those topics for about 30 minutes. Subsequently, the interview shifted towards behavioral questions, focusing on my ideal team, issues I might encounter in my current team and company, and strategies for resolving such problems.
A few days after the final round, I was informed of my selection, and the offer discussion took place a week later.
Interview Questions (3)
Design a utility function for an Android app to sync contacts in the device with the backend. This involved clarifying requirements, listing assumptions, writing different Android layers, defining models for API calls, and handling subtasks such as managing contacts for multiple devices for a single user.
Describe challenges I faced in my previous jobs and how I addressed them.
Discuss the ideal team I desire, issues I face in my current team and company, and how to resolve them.