Status: ~6 years of experience in Android Development, College Dropout
Position: SDE-III at Google
Location: Bengaluru, KA, India
Date: Sept - Nov 2023
Interview process and format
Recruiter reachout out in late August on LinkedIn.
I asked for some time to prepare for interviews as it's been a while. Interviews started after 3 weeks from initial phone call with recruiter.
Technical phone screen (1 hour)
Asked one question, and then a follow up on top of it.
Given a list of words in a dictionary, write a function that incrementally sends auto correct suggestions based on user input. Followed up with questions on optimization and different strategies to rank suggestions.
Technical phone screen 2 (1 hour)
Asked to implement a Trie datastructure and implement fuzzy word auto complete given a prefix. Followed up on how to make it thread safe and given an input of a text file, automatically correct spellings using fuzzy search and write corrected output to a new file.
Technical phone screen 3 (1 hour)
Asked about the implementation of a data structure called BK-Tree, commonly used in autocorrect and providing suggestions. But this time implementation was given already by the recruiter and I was asked to turn it into a DataStructure As A Service, such that it remembers different users. Asked how can I shard the data across users with common language. [Couldn't do this, cause I don't have BE experience]
Got information from the recruiter that my performance wasn't up to the mark and my level was being reduced from L4 to L3. I asked the recruiter how is a question about backend system design relevant for a mobile engineer, and I was scheduled another round
Technical phone screen 4 (1 hour)
Algorithmic question about BFS on a Grid. You have a group of friends with whom you want to watch a sport match. Find out if there are enough vacant seats such that you can sit together as a group. [Catch was that interviewer asked me explicitly to start with brute force approach and then explain about why I chose BFS and my intuition. Was told that this problem can be solved with better TC using Segment Trees at the end]
Googliness round (1 hour)
By far the most easiest round I had. Was mostly grilled on scenario based behavioural questions. Just be natural and you'll do great there.
Team fitment call with EM (1 hour)
Had a candid conversation about the team, the culture, product that the team is working on, challenges that they're trying to solve in the near future, etc.,
Team fitment call with TL (1 hour)
Was asked more questions on my previous experience, more about tech stack we were using in my previous company, about the reasons why I made certain decisions in a given scenario, etc.,
After two weeks, recruiter reached back that overall my feedback was positive for L3 but for L4 I need more improvement in the DSA. I was asked to submit my documents. After two more weeks, I was told initial numbers, which were lower than what I was previously making. Couldn't push due to lower level, even after I got two competing offers.
So expressed my gratitude for the opportunity but said I will not be able to proceed with these initial numbers. Recruiter came back saying HM asked for one more round of Technical Phone Screening.
After two weeks I followed up with recruiter, and got to know that they are not going to change the numbers offered initially. Google's offer was 26% cut in my existing base pay, and I have competing offers which are giving me 32% hike. Didn't choose Google because of that.