Google SWE - III Interview experience | Hyderabad
Summary
I interviewed for a Software Engineer III position at Google in Hyderabad, completing a telephonic screen, three onsite technical rounds, and a 'Googlyness' behavioral round. Despite solving most problems, I was ultimately rejected.
Full Experience
Recruiter Reached out via Linkedin, asked for my contact and discussed about the role.
Telephonic round:
Started with a simple problem - Given three Integers, find the median.
Initially I gave the simple comparision based approach but He was more interested in a mathematical equation which could give the result. I understood what he was expecting and gave the mathematical formula.
Now, comes the actual problem. Easier version of this problem - https://leetcode.com/problems/product-of-the-last-k-numbers where the k is fixed and k does not change for every get() call. Luckily, I have solved this problem before. This problem was the Daily challenge on Feb 14th.
I gave the approach and he was pretty satisfied.
Recruiter reached out within an hour and she said that the feedback is positive and asked for my availability. I gave the dates and she sent the invites in a week.
Onsite Round 1:
You have a touch screen given it has a keyboard layout. Given the (x, y) coordinates which user touched, you have to print the character user entered.
The question was very ambiguos, I asked many questions in order to understand the problem and finally was able to solve this problem. The Interviewer seemed satisfied.
Onsite Round 2:
Given N as input, count the number of patterned strings.
Patterned strings are strings whose substring gives the string itself of length N when repeated any any number of times.(Only A and B characters are present)
Input: 4 Output: 4
The strings are {AAAA, BBBB, ABAB, BABA}
{AABA, AAAB, AABB} are not valid.
I was able to come up with the solution which involes checking the divisors of length N, and then for each divisor d, 2^d possible strings can be formed.
But, the issue was that this will count the duplicates as well. I said, I would be using a set, but he said we shouldn't be generating those strings itself and set is not allowed.
Finally, was not able to complete the code as time ran out.
Onsite Round 3:
Given a 10 * 10 board and N strips of length 1 * x. Check if the given board is valid or not.
The rules are
- Strips can be placed horizontally or vertically but not diagonally.
- Two strips cannot touch each other either by the side or by the corner Horizontally, vertically and Diagonally.
- No extra strips should be present on the board apart from the strips given in the input.
This was a simple problem, but it was implementation heavy. I was able to code everything up in time.
Googlyness:
Typical questions like How did you resolve conflicts with your team member? Tell me an instance where you went wrong and effected the team?
I prepared 4 to 5 stories before going to the interview and framed the answers in STAR pattern.
Verdict: Rejected
Google is a dream company for many developers and it was mine too. I have prepared eoungh but somehow I felt short. This hurts a lot, but may be I wasn't just good enough. I will prepare well and work on myself I guess.
Timeline
Initail Recruiter Call: 13th March Phone Screen: 7th April Onsite 1: 22nd April Onsite 2: 23rd April Onsite 3: 24th April Googlyness: 25th April
Result: 29th April
Interview Questions (7)
Given three Integers, find the median. The interviewer was interested in a mathematical equation rather than a comparison-based approach.
Given a touch screen with a keyboard layout and (x, y) coordinates of user touches, print the character entered. The question was ambiguous and required clarification.
Given N as input, count the number of patterned strings composed only of 'A' and 'B' characters. Patterned strings are those whose substring, when repeated any number of times, forms the string itself of length N. For Input: 4, Output: 4 (AAAA, BBBB, ABAB, BABA). Invalid examples: AABA, AAAB, AABB.
Given a 10 * 10 board and N strips of length 1 * x, check if the board is valid based on these rules: 1. Strips can be placed horizontally or vertically but not diagonally. 2. Two strips cannot touch each other either by the side or by the corner (Horizontally, vertically, and Diagonally). 3. No extra strips should be present on the board apart from the input strips.
Typical behavioral question about resolving conflicts with team members.
Typical behavioral question about a time you made a mistake that impacted your team.
Preparation Tips
For the 'Googlyness' round, I prepared 4 to 5 stories and framed my answers using the STAR pattern. Generally, I felt I had prepared enough, but I still fell short.