10 Google Interview Questions and Answers for Software Engineers
Answers to these Google interview questions can be found by doing a Google search. Also, each question in itself demands a blog post, and I will try to cover them one by one as time allows. I have divided all interview questions into different categories like data structures, puzzles, operating systems, 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 includes books like "Are You Smart Enough to Work at Google?" which is not only a good read but tells you a lot about the Google interview process. It's a must-read to get yourself motivated before starting preparation.
Here are a few questions on data structures that appeared on various Google interviews. Data structures are a complex topic, and they can get very complex at Google. We have purposefully not collected very tough data structure questions at that time due to time constraints, as we wanted to gain some confidence by solving moderate questions. Though this may not be a good strategy for many people, it depends on how much knowledge you have and how confident you are on data structures.
See here for a few more questions on data structures and algorithms.
If you were given a chance to rewrite Linux, how would you do that?
Explain how congestion control works in the TCP protocol.
How would you optimize the TCP protocol without resorting to UDP?
The following metrics were computed from 1 interview experience for the Google Software Engineer - Java Developer role in New Delhi, Delhi.
Google's interview process for their Software Engineer - Java Developer roles in New Delhi, Delhi is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Google's Software Engineer - Java Developer interview process in New Delhi, Delhi.