In this blog, I am sharing my interview experience for the Google Android position offered to me at their Bangalore office. There's a lot of mystery and anxiety surrounding the interview process at big tech companies like Google, so I want to demystify it by sharing my own experiences, tips, and insights.
Even though I searched for various preparation materials on LeetCode, YouTube, and other platforms, I couldn't find many useful blogs specifically addressing Android system design concepts for Google interviews.
I will cover all the questions asked in my Google and other company interviews related to Android system design in upcoming blog posts. Please subscribe to my newsletter to stay updated.
Preparation and Interview Dates
It all began with an call from a Google recruiter. He introduce me a process and study material. After that I shared dates and time for screening round.
I took 3 week preparation time , I had interview with google before in 2022. so I knew about the process , you can read that all here.
I scheduled all the interview rounds after office hours to ensure they don't conflict with my work or meetings.
Interviews
Round 1: Screening Coding Round(45 min)
This was an Elimination Round where 1 coding and one Design question was asked to me.
The overall difficulty of the interview was medium. First, they asked me to design a singleton class and followed up with several questions related to thread safety. The next question was a medium-level problem, similar to string decoding ( Leetcode 394 ).
Now, I have 4 on-site rounds: 2 DSA, 1 Android, and 1 Behavioural round. Unfortunately, all the technical rounds focused on Android system design.
Round 2: Android Coding Round(45 min)
This round was supposed to be a DSA round, but they asked me an Android design problem instead. It was also of medium difficulty, but I was unsure how to proceed because I didn't know what the interviewer expected from me.
The question was to design a stopwatch without using any libraries or Android classes. I started with the high-level architecture and then designed a Use-Case (MVVM) class where I implemented the stopwatch logic, I sent this to the ViewModel for UI updates using Flow. After that, they asked multiple follow-up questions. ( Detail question cover in my next blog).
Round 3: Android Coding Round(45 min)
Again, this round was supposed to be a DSA round, but they asked me an Android design problem instead 😥. It was also of medium difficulty,
The question was to design a screen where data comes from an API, displayed in a RecyclerView with pagination and multiple filters along with a search function.
It went pretty well. I first discussed the requirements and then designed the API with cursor-based pagination, followed by the Android implementation. They asked me to write some code snippets demonstrating the workflow from ViewModel to UseCase and then to the Repository.
Round 4: Android Coding Round(45 min)
This is a actual android Round as per HR discussion 😆, This round difficulty level is in-between medium and Hard.
The question was related to search functionality, where I had to search for an item and display the data in a list using an API. The interview focused heavily on designing a seamless search with all edge cases considered. I presented multiple approaches, such as debouncing and caching, but the interviewer seemed unsatisfied. I think they were expecting a different approach.
I have written code snippets for all approaches and follow-ups, along with the class design.
Round 5: Behaviour Round(45 min)
This round went good, we have good discussion over normal leadership principals. You can search different question on google it almost same.
A few Points to remember
- If you are a working professional then practice daily 1 question from leetcode and system design LLD on weekend.
- Always stay prepared for all the round before hand because it happen with me like it suppose to DSA but turned out to be Android.
- The interviewers are really friendly so keep calm.
- Be clear with Android concept like Architecture , Flow, coroutines etc.
Connect me on topmate.io/prabhat_rai for mentorship or any query regarding interview preparation.