16 Technical Google Interview Questions for Software Engineers

If working in google is your dream, knowing answers to these 16 technical Google interview questions for software engineers is a must.

Google managed to revolutionize the hiring process by coming at candidates with questions that are often ridiculous and have nothing to do with a job they are interviewing for at first glance. But don’t be fooled, there is a logic to their madness. In accordance with Google philosophy, their HR department has developed a process in which they test not only the candidates’ knowledge of software engineering, which is just a basic requirement for the job, but also their ability to think quickly on their feet and deal with unexpected problems that are a daily occurrence at Google. Best jobs in the company are reserved for those who are good at lateral thinking.

According to Laszlo Bock, a long-time human resources director and the senior vice president of people operations at Google, in an interview he gave to New York Times, a degree isn’t a must for getting a job. In fact, up to 14% of some teams in Google are people without one. He says: “G.P.A.’s are worthless as criteria for hiring, and test scores are worthless. … We found that they don’t predict anything.” Although having good grades can’t hurt, their hiring process doesn’t rely on them to make an assessment if a candidate will be a good fit for the company. That is why the actual interview is so important.

Mountain View, California, where Google is headquartered, is among 11 cities with the highest demand for software engineers, which isn’t surprising considering the perks the IT giant provides for its employees. Ranging from onsite masseuses and great cafeteria, to nap pods and even hair saloon (everything free of charge, of course) these are just some of the baits Google uses to lures the best and the brightest in the business. An excellent salary is always a plus, but a feeling that your employer wants you to be happy while working for them doesn’t have a price tag, something many of the people working in soul-crushing office jobs will gladly confirm.

But getting a position at Google requires going through an interview, which can have some pretty tricky technical question, especially for software engineers, which is bread and butter of the company and naturally, they pay a lot of attention to their new hires. In order to create the list of technical Google interview questions for software engineers, we consulted GlassDoor and Java Revisited, which has a nice selection of technical questions gathered from various sources. Good luck with your interview.

16. The Largest element

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

16 Technical Google Interview Questions for Software Engineers

nullplus/Shutterstock.com

15. Power Set

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 favorite programming languages)

14. Determine a geographical point

You have been given a set of points across the globe as latitudes and longitudes for this question number 14 on our list of technical Google interview questions for software engineers. How will you determine points which are within a particular mile?

13. N nodes

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

16 Technical Google Interview Questions for Software Engineers

A and N photography/Shutterstock.com

12. Mirror image

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

11. Data package transfer

Can you design data package transfer from London to Tokyo?

16 Technical Google Interview Questions for Software Engineers

Rawpixel.com/Shutterstock.com

10. Heaps

How do you convert a max heap to min heap?

16 Technical Google Interview Questions for Software Engineers

Antonio Guillem/Shutterstock.com

9. Static set

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 a key and the system will return value.

8. Hash table

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

7. Raindrops

Model raindrops falling on a sidewalk (sidewalk is 1m and raindrops are 1cm). How could we know when the sidewalk is completely wet? Problems like this one are often found among technical Google interview questions for software engineers.

16 Technical Google Interview Questions for Software Engineers

Pixabay/Public Domain

6. Sorted array

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

16 Technical Google Interview Questions for Software Engineers

racorn/Shutterstock.com

5. Recursive function

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

16 Technical Google Interview Questions for Software Engineers

Billion Photos/Shutterstock.com

4. Generic LRU Cache

Can you implement a Generic LRU Cache in Java?

16 Technical Google Interview Questions for Software Engineers

tsyhun/Shutterstock.com

3. Three stacks, one array

How will you implement three stacks with one array?

16 Technical Google Interview Questions for Software Engineers

LStockStudio/Shutterstock.com

2. Lift waiting time

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

1. Rubik’s cube

Write a program to solve a Rubik’s cube in any programming language. This is one of the most interesting problems, so we placed it on top of our list of technical Google interview questions for software engineers. 

16 Technical Google Interview Questions for Software Engineers

Pixabay/Public Domain