Saturday, April 23, 2016

These Google interview questions are some of my favorites collected from different sources. Every Programmer knows thatGoogle is one of the best technology company and its dream for many software developers to work for google, but at same timeinterview process at google is very tough and only a few genuine intelligent programmers get through their interview process. Google interviewquestions have always been a good topic of discussion when few young software developer gathered around, I can stillremember when one of my friends got a call from google for an interview then how the whole bunch was got excited. We have searched a lot on the internet on google interview questionsand answers for him and us and then make a note of someof the best questions for preparation. I am listing down some google interview questions from that list.
Apart from the popular questions asked in various Google Interview for software engineers or developers, books on algorithm and data structure plays a lot more important roles. Books like Algorithms for Interviews and Introduction to Algorithms are must read for any Programmer, who is serious about converting Google interview or similar companies like Facebook, Amazon, and Microsoft. Once you start preparing for Google, rest of them become very easy.

Google Interview questions answer for Software Engineers

Answers to these Google interview questions can be found by doing google :) , Also, each question in itself demand a blog post and I will try to cover that one by one as and when time allows. I have divided all interview questions in the different category like data structure, puzzles, operating system , Software Design and Coding etc for better organization. In the last section, I have shared some top class, must read books for Google Interview preparation. It contains books like Are You Smart Enough to Work at Google? which is not only a good read but tells you a lot about Google interview, it's processed. Before starting preparation, a must read to get yourself motivated.

Google Interview Questions on Data Structure and Algorithm

Here are few questions from data structures appeared on various google interviews, data-structure is a complex topic and can get very complex at google and we have purposefully not collected very tough data-structure questions at that time because of time limit and we wanted to gain some confidence to solve moderate questions, though this may not be a good strategy for many people but it depends on how much knowledge you have and how confident you are on data-structure.

Find out the fastest way to locate the largest element in a circular sorted array ?

You have a binary search tree and integer n, find out the most efficient way to locate two nodes of the three whose summation is equaled to "n" ?

How do you convert a max heap to min heap ?

You have given two lists L1 and L2 write an algorithm to see if both the lists are equivalent or not?

How do you figure out time and space complexity of recursive function ?

Google Interview Questions based on Networking and Operating Systems

Here are some of my favorite Google interview questions from various operating systems like Unix and Linux. Good knowledge of how operating system works always helps to excel any programming interview and Google is not an exception.

Google Interview Questions on Software design

Here are some of the software design questions from various Google interviews for software engineer position. Software design is a critical piece to get through Google interview and people has almost always faced one of two questions from this category.

You have given a set of points across the globe as latitudes and longitudes ? How will you determine points which are within a particular mile ?

Can you design data package transfer from London to Tokyo ?

Design a distributed system for storing a static set of (key, value) pairs which will behave like a hash table, the user will provide you key and system will return value.

Design Algorithm for Lift to get minimum waiting time on each floor ?

For more questions on Object oriented design and software design see here

Google interview questions on Coding

There will always be some questions on coding in Google interview, especially if it is a software engineer or developer role. They want to see you writing code. Thereis no language barrier and you can choose whatever programming language you are most comfortable with.Google interviewquestions on coding mostly require good knowledge of recursion, data structure and good familiarity with a programminglanguage.

Can you write code in Java or C++ to find the power set of a given set? For example if S={a,b} the power set is P={{},{a},{b},{a,b}} ( you can also choose any of your favoriteprogramming language)

Write code in Java to find out whether a binary tree is a mirror image of itself or not. Should code bethread-safe?

Can you write code to implement your own hashtable in C++ or Java?

Write code to find out a number of occurrence of a number in a sorted array ?

Miscellaneous Google Interview Questions

In this category of google interview question, you will see mostly behavioral questions, some time before throwingdata-structure questions they ask a light question and some time after exhaustive screening they ask based on yourprofile and luck. Apart from below they also question based on puzzles and riddles.

How Google Search work ? If asked to you how will you design it to scale and fast at the same time ?

Why do you want to work with Google ?

Which Google product you like most and why ?

Do you like coding or designing application ?

Questions about your previous project and work experience.

Puzzles are another popular topic on various google interview and there are a lot of puzzles available on the internet as wellmake sure you prepare on puzzles before appearing to any google interview. Sometimes they even ask questions onlateral thinking and tricks which doesn't require complex logic but sharp mind to guess. See this list of the most popular puzzles asked in programming interviews.

Books to Prepare Google Interview Questions

There are the lot of books available in the market, which covers lot of different topics asked in Google or Amazon interviews, but most of them lack quality. In order to succeed in Google, most important thing is data structure and algorithm topic along with problem-solving skills, if you have that, half of battle is won. Following are some of the popular books, which programmers prefer during preparation of Google interviews:

1. Are You Smart Enough to Work at Google? By William Poundstone
Google is known for asking insanely difficult puzzles, this book takes you on both. It's readable, fun and same time introduce hard realities of Google interviews. You will be glued to read this book, after reading the first interview experience :)

3. Introduction to Algorithms (Includes CD-Rom) By Thomas Cormen, Charles Leiserson, Ronald Rivest, Clifford Stein
Another top class book on the topic of Algorithm. As I said, data structure and algorithms are extremely important to survive and excel google interviews. Read this book at least one time, if not two. Another must read for Google aspirants.

That's all on Google interview questions for Software Engineers and Programmers .What is most important is that most of the questions asked in google are original and you don't see them again. practice can give youguidance on how to tackle those questions.

In my google phone interview , they asked me explain algorithm for designing lift if you have 3 lift which goes form 1 to 15th floor so that people wait time is minimal. decent questions but google interviews are more tougher than these.

There is always buzz and curiosity about questions asked in Google interviews. most of these these questions are already appeared in Google and chances are more that they won't be repeated. Only benefit these Google interview question can provide anyone is practice but as Google always ask new, unheard and novel questions, you got to prepare yourself more. how about language specific questions, I don't see any questions form SQL, C, C++ or Java here. Doesn't Google asked questions on SQL, C, C++ or Java, I heard they use Java a lot along with python and JavaScript.

You need to follow a very organized and disciplined approach to prepare for the Software Engineering Job at Facebook/Google/Amazon/Microsoft etc.

Actually all these companies e.g. MS, Google, Amazon, Facebook, Apple follow an approach on which that measure the thought process of a candidate.

And they use different means to evaluate that, but yes most of them uses Algorithms/Data Structures/Open-ended questions(If you have applied for a software engineering job) as one of the approach to evaluate the talent.( As those are the base to develop the technologies).

To be accustomed with algos/data structure/coding , you must have understood/practiced the minimum e.g. :

(Step-1): You should have practical understanding of the Algorithms (e.g. When to use BackTracking, When to Use Divide and Conquer, Why double hashing required?, Where brute force concept can be applied?) (100 Hours).

(Step-2): You should have practical understanding of Data Structures e.g. (Practical use cases related to :when to use circular buffer , or when to use adjacently list or the combination of both or something else to solve the problem ).(100 Hours)

(Step-3) : You must practice several coding problems to implement the things which learn from Step-1 , and Step-2 (you may do the following choose any coding language for the choice of yours (C, C++ or Java or Python or PHP or any one else ).(100 Hours)

(Step-4): Solving the problem doesn't mean just to solve it, but to understand the best way to solve it e.g. The given technical problem can use various ways to come to solution, and you might want to use the optimal one. (How you connect the given solution with the computing/memory resources e.g. Memory/Processing Power) (100 Hours)

Most Important One.

However other than programming you might need to understand the main concept for the interview is to keep the interview active and this requires some action from your side, such as the following:

You need to talk.

You need to explain.

You need to discuss.

You need to express your views.

You need to understand clearly the questions given to you.

You need to understand the interviewer’s expression and mindset to un- derstand those questions.

You might need to ask appropriate questions to understand the question or any other discussion item. (100 Hours)

@Anonymous, some questions I have seen in past- difference between final, finally and finalize in Java?- how do you design another programming language which can run like Java?- when to use abstract class over interface in Java?- how does lambda expression of Java 8 was implemented?- how does generics in Java implemented internally?

Hello everyone!! I am working on a plugin project as a part of my internship for MCA from a company...I have some issues related with my project...can anyone help me to come out this...???? My project title is "Diagramming using YFiles"..

If you seriously want to become a better programmer , you must improve your data structure and algorithm skill. You can read these books to learn Algorithms. You should be good at algorithm and data structure to write good code. Once you done, that you can look at these books to improve coding skill .

Very nice post. I am working as software engineer on Java/J2EE in service based company and i have done MCA from Private college.. does google or other top product based companies shortlist my resume? plz reply