From Search to YouTube to Ads to Android, some of the most used technology in the world is driven by software engineers at Google. The software engineering team bridges the technical and business worlds, as they guide ideas from conception to launch.
We examine some of the most frequently asked questions and dispel any preconceived notions that candidates might have about interviewing for an engineering role at Google: what educational and professional background is required? How are coding challenges structured?
Software engineering at Google can be an incredibly rewarding career. The Google software engineer interview leans heavily on the technical side, so we'll discuss the best way to brush up on your data structures, algorithms, and system design knowledge in the next few pages.
Google's interview loop often takes more than eight weeks, so strap in for a long ride.
For new grads and prospective interns, you'll face a small coding test before speaking with a Google representative. You'll have 90 minutes to answer two basic questions, often on data structures or algorithms. You must pass both to advance, so if you're fairly confident, we recommend taking a look through past Google coding competitions. If you need a more comprehensive review, check out our Software Engineering course for everything you'll need.
It's important to note that while Google does expect candidates to have a broad, interdisciplinary background, a CS degree is not strictly required for most SWE or PM roles.
Next, you'll have at least one video call with a peer or hiring manager at Google. You'll be asked coding question(s) which you'll work through on a shared Google doc. You won't have access to autocomplete or syntax cues, so practice writing code in Google Docs well before this stage.
You'll also be asked some basic behavioral questions like, "Why Google?" or "Tell me about a recent project you worked on." Google's SWE interview loop is heavily technical, but you'll want to have a good handle on the most common behavioral questions as they'll pop up again and again.
Finally, the onsite. Expect to complete 4 to 6 rounds over the course of a day. Each round should last roughly 45 minutes and cover both system design and coding questions. Interviewees report more coding than system design rounds, and expectations vary with your level. A more junior engineer will face a lower bar for system design questions than an L5+, but you will be expected to do well in all coding interviews regardless of level.
If you're interviewing in person, you'll most likely spend the majority of your time whiteboarding, so get used to the process well ahead of time or practice with a digital whiteboard. Some locations offer Chromebooks with the option to use your language of choice, but don't expect this.
You will get a lunch break mid-way through where you'll eat with a fellow engineer, giving you the chance to get a feel for Google's culture and ask any questions.
Google's SWE loop is heavily technical, so spend the majority of your time preparing for coding and systems design questions. Don't neglect behavioral questions though - you'll want to prove you're "Googley"!
Google wants to know if you have "Googleyness", a value the company uses to describe those who fit in well with the culture. Though the term has various definitions, including being able to work despite ambiguity and being able to work well in a team, the general takeaway is to not come off as a jerk. You should also focus on communicating well: enunciate, speak slowly, and speak with meaning.
Technical questions at Google fall into 2 categories: coding and systems design.
Google's coding standards are extremely high, so in addition to writing accurate, fast, bug-free code, you should showcase strong problem-solving skills and flexibility. Here are some example coding:
Check out Exponent's Google interview question bank for more examples.
Systems design questions are more open-ended than coding questions and are designed to test your thought process as well as your knowledge of high-level technical concepts. If you can strike the right balance between structured thinking and creativity, your chances of acing these questions is good.
Some general example questions involve architecting a video distribution system or designing a mobile image search client, but Google may ask you to design a Google product. Sometimes they'll adapt questions to your experience - if you worked on a payment system, they may ask you to design one.
The best way to prepare for system design interviews is to watch our practice system design interviews like this one on Facebook's news feed, and try your hand at some practice system design questions in our interview question database.
Google wants you to do well, which is why they've put together a video on interview tips from Google SWEs.
In general, the following framework will help you tackle tough problems in a systematic way.
And of course, don't forget to do lots of peer mocks to practice! Exponent's community is ready to help.