Category Archives: Google

Software Engineering Interview with Google

1st Interview

 

It was 27th April 2011 I was just checking out my linkedin profile,ย  I noticed someone viewed my profile from Google Engineering Recruiter. I got the person email address and just sent my CV to the person. After that immediately the person replied and ask some questions about skills. We exchanged emails regarding my skills several time.

 

Then she was pleased with my skills and asked for available time for phone interview. We agreed on 5th May 2011 for the interview. The interview was friendly and I was really amazed from her friendly behavior. It was about 30 minutes interview just to check out if I am ready for a technical interview with a Software Engineer or with the team they are looking for.

 

Interview topics was related to the pure Computer Science Subjects. It includes Memory Management, Database, Registers of the Processors, Assembly Language, Number Conversions, Algorithms etc. If you are planning for the interview or you are scheduled for one just review those subjects. It’s not an interview to how to code it’s more core subjects of Computer Science. My interview was fare( my point of view). After this interview I received an email on 12th May 2011 stated that โ€œWe carefully reviewed your background and experience, and though we do not have a position that is a strong match with your qualifications at this time, we will be keeping your resume active in our system.โ€… ๐Ÿ˜› . But honestly that was a great experience and for the first time I felt that I am giving an interview… ๐Ÿ™‚

 

That was the end of my interview process. I was happy that at least they took a phone interview while I left C/C++ coding almost for more than 4 years ago.

 

2nd Interview

 

On 20th June I received an email from another recruiter stating that he saw in their database I chatted with a recruiter on May but my CV is good enough to fit for the post so he want me to give another chance for telephone interview. We exchanged some emails regarding the location I would like to relocate. I choosed Australia. Then he contacted Google office Australia for vacancy and forwarded my email there.

 

From Australia Google office a Software Engineer contacted me and scheduled a technical telephone interview on 7th July 2011. I was excited that time that they contacted second time and it’s now technical interview with a Software Engineer. There communication and behavior was so friendly that they were helping me whatever they can.

 

The recruiter sent me the resource for the preparation of the interview that amazed me most. They really want to hire people and they are doing that often. So he sent me the following preparation tools. I think there was no agreement with me about sharing this resources and it’s public. Just sharing with you if you really want to prepare yourself for the interview with Google.

 

The phone interview is designed to test your CS fundamentals (Big-O notation, coding, algorithms, etc.). I have included some tips and hints about the process below.

TIPS:
* Our interview style may differ from what you’ve experienced elsewhere, and tends to be highly technical. The interviewer will be interested in the specifics of your past projects, implementations and how you arrived at your conclusions. Interview may cover data structures and algorithms (i.e. Big-O Notation). You will be asked to write code.

* Many of the questions asked in Google interviews are open-ended because our engineers are looking to see how you engage the problem. Be sure to talk through your thought process about the questions you are asked, as well as your approach to problems and solutions. Ask specific questions if you need more clarification.

* Think about ways to improve the solution you’ll present. In many cases, the first answer that springs to mind may need some refining. It is worthwhile to talk about your initial thoughts to a question. A brute force explanation will be received less well than taking time to compose a more efficient solution.

LINKS:
Interviewing at Google
Google Products
Google Labs
The Official Google Blog: Baby steps to a new job by Gretta Cook (Google Engineer)
How to Get Hired by Dan Kegel (Google Engineer)
How to get a job at Google, interview questions, hiring process (Google Engineer)
Five Essential Phone Screen Questions by Steve Yegge (Google Engineer)
Types of algorithm questions Google asks (more C++ focused):Top Coder Tutorials
Industry News:Search Engine Land

BOOKS:
(#2 was highly recommended by several engineers and quite representative of the types of coding questions asked)

1. Review of Basic Algorithms: Introduction to the Design and Analysis of Algorithms by Anany Levitin
2. Types of coding questions Google asks: ย Programming Interviews Exposed; Secrets to Landing Your Next Job (Programmer to Programmer) by John Mongan, Noah Suojanen, and Eric Giguere

Software Engineers:

Coding
-construct / traverse data structures
-implement system routines
-distill large data sets to single values
-transform one data set to another

Algorithm Design / Analysis
-big-O analysis
-sorting and hashing, searching
-handling obscenely large amounts of data
-also see topics listed under ‘Coding’

System Design
-feature sets
-interfaces
-class hierarchies
-designing a system under certain constraints
-simplicity and robustness
-tradeoffs

Open-Ended Discussions
-biggest challenge faced
-best / worst designs seen
-performance analysis and optimization
-testing
-ideas for improving existing Google products

 

As I was lazy I didn’t prepare for the interview.

On the scheduled day Software Engineer called me on my cell and they sent a link of Google Doc online where I can code. He was like a friend. He introduced himself that he is currently working on Google+ project. First he just asked me some basic questions what I do and what I am working on currently. Then he gave me some problems and asked me to solve that problems using any programming language. As I am now programing in PHP so I code it in PHP and he helped me lot for making the code perfect. It was almost 1 hour interview. I didn’t faced any problem on the interview. Solved all the problems perfectly.

After that interview I received an email on 18th July 2011 same email like before that I am not currently fit for the position….:P

I just shared it with you that it’s not a big deal to apply in Google for Software Engineering position. If you are a graduate of CS or CSE then you can apply. Doesn’t matter you have experience or not. Just apply. Even if you are not planning to work with them at least face the interview it’s a good experience. Google interview was the only interview I felt that I am giving an interview… ๐Ÿ™‚

 

How to apply at Google (my experience)

First just look for an Google Engineering recruiter in linkedin or facebook send him/her the CV with a proper cover letter.

And prepare yourself for the interview by covering the topics they mentioned to me. Very simple as like that.

You are failure al ready why you want to miss the chance of success. There is nothing to loose… ๐Ÿ˜‰