My interview experience with Google – Part 1

One month after submitting a job application at Google, I was contacted out of blue by a recruiter at Google in Sydney. You know what they say – at Google, someone human is guaranteed to look at your application (even though they receive more than 5000 a day)!

Gone are the days when one cannot land a Google interview without a top CS school degree on their resume. After all, I’m a Masters student (in Computer Science) from a no-name university in India. Your alma mater may help you land the interview. But how you proceed further in the Google recruitment pipeline depends entirely on how you perform in the interviews.

After rescheduling the recruiter screen a couple of times, I finally did the screening round.

Recruiter Screen:

The recruiter was very prompt; my phone rang at the scheduled time. The interview began with a short introduction to the role, and I was then asked to rate myself 1-10 in areas like Algorithms & Data Structures, Distributed Systems, Networking, Linux, C, C++, Java and so on.

Next came the horde of technical questions. This is just the recruiter testing the waters; checking whether you are indeed “Google” material; whether it’s even worth interviewing you. I would recommend you to get comfortable with the Big O of various algorithms (at the very least some sorting algorithms) and data structures. Having some knowledge of Linux internals shall also be helpful.

Make sure that you have a good phone connection. My call dropped once, but the interviewer called back within a minute. The call quality was also terrible, but we managed it somehow. Since there is no coding involved, you can use the phone as such; but it’s recommended to use a speaker & microphone set so that your hands shall be free.

Once my assigned 30 minutes were up, we concluded the interview. Within a couple of minutes, I received an email from the recruiter stating that he would like to schedule a phone interview with an engineer! Yay! I got a phone screen!

Phone Screen 1:

I was asked to give my preferred time slots for the interview, which the recruiter then pushed into some interview scheduling queue. Within an hour, I was contacted by a Recruiter Coordinator (they seems to be the one who schedules the interview), to confirm the interview scheduled for me, which I did confirm. The interview was supposed to be done through Google Hangouts (in case that fails, they shall do it through phone) and there was no coding involved in this round.

I was waiting in Hangouts, and at the scheduled time came the interviewer. He started off with a brief introduction, and then quickly turned to technical questions. I was asked questions about Linux, TCP/IP, Bit manipulation, C/C++ and about some of the projects listed on my resume.

The whole interview took less than 45 minutes, and in the remaining time I was encouraged to ask any questions. I could gather from the way we concluded the interview that I had passed. I got the email from the recruiter next morning confirming the same, and we got to scheduling the next phone screen.

Phone Screen 2:

This interview was a coding round through Hangouts, and a Google Docs was shared with me in advance for writing the code.

The interviewer was again prompt and started off with a brief introduction. The interviewer then asked questions on Linux, Bit Manipulation, and C/C++ and 1 coding question. I did struggle a bit with the coding question since it wasn’t a typical algorithmic question asked to new grad SWE candidates, but rather a real world problem. To top it off, we also had some technical faults during the call.

I received the email from recruiter next morning regarding the technical faults during the interview, but they were ready to schedule me one more phone screen.

Phone Screen 3:

This interview was a coding round through Hangouts, and a Google Docs was shared with me in advance for writing the code. The interviewer was late by about 3 minutes (I still wonder how these guys are prompt to the actual minute!), and the interview again started off with a brief introduction.

There were 2 coding questions, and I coded them up in C++. For one with some competitive programming background and a couple of weeks of interview preparation, it should be a breeze. The interviewer also mentioned that my resume was impressive (who doesn’t love a praise!), and asked about some of my projects. We completed the interview in about 30 minutes, and for the remaining time, I questioned him regarding some of the projects he had worked on at Google.

Just like the first phone screen, I knew I had impressed the interviewer. Got the email from recruiter next morning inviting me for onsite! A chance to finally try out the famed Google free food! 🙂

 

Advertisements

MapR Technologies interview experience

MapR Technologies is one of the leaders in Apache Hadoop, along with Cloudera and Horton Works, based in San Jose, USA. MapR allows you to do more with Hadoop by combining it with various architectural innovations. MapR platform not only provides enterprise-grade features such as high availability, disaster recovery, security, and full data protection but also allows Hadoop to be easily accessed as traditional network attached storage (NAS) with read-write capabilities.

It was quite a surprise for me to hear that MapR was coming to my college to recruit interns, They needed 1 or 2 interns to work in their Hyderabad office. And the most interesting thing was they had never hired interns in India before, which means if selected, he/she shall become the first intern in their Indian office!

Unfortunately the day they came was the day I was going home. I had already booked my tickets. But they allowed me to be interviewed first, so that I won’t be late. The first interview started off with a nice introduction about me. Then came the first question – Merge two sorted linked lists. Pretty easy, and I did it in O(n) and accounted for all the edge cases. Interviewer was satisifed and we moved on to the next question, the traditional producer consumer problem. Though I did get it right, the program could have been optimized using condition variables. The next question was a system design question relating to databases and file systems, which I was not able to answer satisfiably owing to my lack of experience in scaling. But I was given a take-home test, which I was supposed to complete within a couple of hours.

My next interviewer drilled me in various data structures like stack, queues, trees, hash tables in relation with system design. (Its been a year since I was interviewed, and owing to the fact that I was asked too much questions, I’m unable to recall most of them). In both the interviews, the emphasis was on data structures and strong programming skills in C in relation with system design. Once the interviews were over, I went back to my hostel. I completed my take-home test and mailed it to them. On my way home, I got the call. Yes! I had been selected into MapR Technologies!

Works Applications interview experience

Works Applications is an Japanese ERP based software company with offices in Japan, Singapore, China, USA and India. Its one of the hottest startup to come out of Japan in the recent years, and their products are used by more than 1/3rd of the whole Japanese companies. They have been existence for more than 10 years and have annual revenues of more than $2.37 trillion!

For the past couple of years, they regualrly visit colleges like IITs, NITs, IIITs, BITS, UOH and various other universities, and recruits around 50 students from the whole of India for their Singapore office. They pay a fixed handsome annual package of 6,000,000 JPY! If you are good with programming, I would recommend you to apply. They do not even have any eligibility criteria! I shall be detailing my interview experience with them, without revealing too much about the interview process.

If Works Applications will visit your college, you can apply on-campus. If not, check out their Facebook page, and register offcampus when recruitemt in India starts. Even though Works Applications visits my college, I registered online when recruitment in India started. I received an email from them saying that I shall receive more details when their recruitment schedule is fixed. After a couple of weeks I received another email detailing their recruitment process.

There was an initial coding test which I needed to pass to get selected for interviews. This coding test was to be conducted in 4 weeks, and I could select any one of the week to do the test. I choose one of the week for my coding test, and when the week arrived, I received my test. There were 2 questions, which were to be solved using either C++ or Java in 5 days. I coded my solution and submitted it online. One thing to remember is that you are competiting again the whole of India, and hence your programs should run as fast as possible, even in the worst case. As far as I’m concerned, this was the hardest stage to clear.

I didn’t hear anything from them for a couple of weeks. Meanwhile, they also visited my college and conducted the coding test. Since I had submitted my test earlier, I was not eligible for further tests. Another few weeks passed by, and one day I received an email from them congratulating me for getting selected for interviews, and asking me to schedule my interviews. I had heard that they shall reimburse your expenses in getting to the interview locations, but since my interview location was so close to me, there wasn’t any need of reimbursement for me.

My interviews were scheduled for 10 in the morning, but I was already at the location by 9. I was asked to submit my resume. At 10, my first live coding round started. I introduced myself and gave some details regarding my internship experience and the projects I had done. The interviewer then gave me my first question. It was a modification of the code I had submitted online. I was given a computer to code my solution, and the interviewer was watching every line I type through another computer. It was quite a simple program and I completed it with ease. The interviewer then gave my second question. I started off with a bruteforce approach and then optimized it later. Once my 45 minutes were up, I was asked to wait.

Later I was informed that I had passed the interview and shall soon have my second live coding round. Meanwhile more and more students were coming and having their interviews. In my second live coding round, me and my interviewer got into a nice chat. We talked about Japanese and Indian cultures, and about the cultural diversity in their offices along with its pros and cons! The interviewer then gave me a problem to solve. It wasn’t much diffcult and I again solved it with ease. The interviewer then asked me to check for edge cases, and I had missed one! I edited my program to fix it. Interviewer seemed satisfied with my solution, and asked me to wait.

Later I was informed that I had passed the interview and shall be having an aptitude test soon. I had 30 questions to be solved in 50 minutes. If you have ample experience in solving basic maths and quant-like questions, this test shall be quite easy. It was easy for me too, and I was informed later that I had passed the test and shall have the HR interview soon.

During the HR interview, I was asked some typical HR questions and we had a nice chat about Works Applications and what they do. (To those who wish to appear for Works Applications interviews, I would recommend you to learn a bit about the company and their products. It would help in having a smooth interview). We also talked a bit about the Indian and Japanese cultures. At the end of the interview, the HR manager congratulated me and handed me my offer letter! Yes! I got selected into Works Applications.