Did you know that you can navigate the posts by swiping left and right?
In a previous blog of mine regarding completing the foo.bar challenge, I talked about how I completed the foo.bar challenge but what I didn’t talk about was that I was invited for the internship recruiting process afterward soon by Google North America.
Once, I had completed Foo.Bar challenge I received an email from Google asking for my resume and my availability to work with Google. Once I made the submission, I was asked to apply through the Google Careers page and inform them once I’ve applied. I did the same and soon I got the email to take an online technical screening test.
The online technical round consisted of two questions based on Data Structures and Algorithms. I was given a time of 90 minutes to solve them (IIRC). The questions were comparable to CodeChef easy level and the choice of programming language was pretty much all.
Fortunately I cleared the online screening round!
After the online around I was asked to provide them with my schedule and dates for interview. It was supposed to be two back to back telephonic interviews, each of 45 minutes.
In the first interview, we straight away started with solving an algorithmic problem. The problem was as follows:
Given a decimal number, how would I convert it into a balanced ternary number. A balanced ternary number has three values [-1, 0, 1] for each position and like binary, powers to 3 are available to use. (For purpose of easy distinguishment, we will be writing -1 as 'T'), Example: 5 can be represented as 1TT (1 * (3^2) + (-1 * (3^1)) + (-1 * (3^0)))
The interview was very intractive and with guidance and hints from the interviewer I was able to solve the problem in the stipulated time. Once the problem was solved, I was asked to write the solution in Python and later on we discussed about the edge cases etc.
In the second interview, I was asked about my projects and required to explain the most challenging part of my favorite project. Talking for 10 minutes regarding this, we moved on to the algorithm problem which is stated as follows:
Print all fractions less than 1 till n without repetition of the value in an increasing order (including 0 and 1). Example: when n=2, printing "0/1, 1/2, 2/2" can be one solution.
I was allowed to ask questions and discuss with the interviewer about the problem. Unlike the previous interview, the interviewer was not very responsive this time and used to take a huge pause or time to reply to my queries.
Nonetheless, I was able to solve the problem correctly with an efficient time complexity. I was also asked to later on discuss about how I would write tests for checking my function (which I was not able to comprehend what he was looking for since he didn’t want to write unit-tests).
As I have written in a my Interview Experience With Mercari, I accepted an internship offer at Mercari Japan and hence I told the same to the HR from Google after which a rejection mail soon followed.
Google, I would say, focused very much on the Data Structures and Algorithms part (which is indeed not that hard) but in the pressure I did make a few mistakes. Though, I’m not fully satisfied by the process since only DS / Algo knowledge should never be a criteria to judge for specific software engineering roles.
Also, I felt the time take from interviews to the feedback (a.k.a. rejection) was quite long and could have been longer had I not accepted Mercari’s offer. There is also the probability of you not getting the internship even after being selected due to the new US VISA laws.
All in all, it was a thrilling experience but I was more inclined towards working with Mercari due to it’s small team sizes and scope to make larger impact; PLUS it’s JAPAN