Google Interview Prep Guide Strategic Cloud Engineer
Google Interview Prep Guide Strategic Cloud Engineer
General Interview Tips
Explain - We want to understand how you think, so explain your thought process and decision
making throughout the interview. Remember we’re not only evaluating your technical ability,
but also how you approach problems and try to solve them. Explicitly state and check
assumptions with your interviewer to ensure they are reasonable.
Clarify - Many of the questions will be deliberately open-ended to provide insight into what
categories and information you value within the technological puzzle. We’re looking to see
how you engage with the problem and your primary method for solving it. Be sure to talk
through your thought process and feel free to ask specific questions if you need clarification.
Improve - Think about ways to improve the solution you are presenting, focusing on building
for scale and change as it grows. It’s worthwhile to think out loud about your initial thoughts to
a question. In many cases, your first answer may need some refining and further explanation.
If necessary, start with the brute force solution and improve on it — just let the interviewer
know that's what you're doing and why.
Practice - You won’t have access to an IDE or compiler during the interview so practice
writing code on paper or a whiteboard. Be sure to test your code and ensure it’s easily
readable without bugs. Don’t stress about small syntactical errors like which substring to use
for a given method (e.g. start, end or start, length) — just pick one and let your interviewer
know.
careers.google.com
4. Optimize the code, follow it with test cases and find any bugs.
Web Technology - Know your network protocols and how the browser works, the HTTP
protocol, cookies, general web troubleshooting (ability to diagnose issues step by step),
Javascript and HTML. Brush up on HTTP Protocol basics: Part I, Part II
Networking - Show off your depth of knowledge and understanding of network theory, like
different protocols (TCP/IP, UDP, ICMP, etc), MAC addresses, IP packets, DNS, OSI layers, and
load balancing. Check out Computer Networking: A Top-Down Approach.
System Design - Here you will combine knowledge, theory, experience and judgement
toward solving a real-world engineering problem. Sample topics include distributed systems,
designing a system under certain constraints, scalability, elasticity, robustness and tradeoffs.
Make sure you also have an understanding of how the internet works and be familiar with the
various pieces (routers, domain name servers, load balancers, firewalls, etc.).
careers.google.com
The Coding & Algorithm Interviews
Coding - You should know at least one programming language really well, preferably C++,
Java, Python, Go or C. You will be expected to know API’s, Object Oriented Design and
Programming, how to test your code, as well as come up with corner cases and edge cases
for code. Note that we focus on conceptual understanding rather than memorization.
Algorithms - Approach the problem from both bottom-up and top-down algorithms. Know
Big-O notations (e.g. run time). Algorithms that are used to solve Google problems include
sorting (plus searching and binary search), greediness, dynamic programming/ memorization,
divide-and-conquer, and algorithms linked to a specific data structure.
Data Structures - You should study up on as many data structures as possible. Data
structures most frequently used are arrays, linked lists, stacks, queues, hash-sets, hash-maps,
hash-tables, dictionary, trees and binary trees. You should know the data structure inside out,
and what algorithms tend to go along with each data structure.
careers.google.com
Resources
Books About Google
Cracking the Coding Interview Company - Google
Gayle Laakmann McDowell The Google story
Programming Interviews Exposed: Secrets to Landing Life @ Google
Your Next Job
John Mongan, Eric Giguere, Noah Suojanen, Noah Google Developers
Kindler Open Source Projects
Programming Pearls Github: Google Style Guide
Jon Bentley
Introduction to Algorithms
Thomas Cormen, Charles Leiserson, Ronald
Rivest, Clifford Stein
careers.google.com