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
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