DEV Community

Cover image for I Passed The Google Technical Interviews; You Can Too.

I Passed The Google Technical Interviews; You Can Too.

Emma Bostian ✨ on April 16, 2020

All of my illustrations come from UnDraw. Thank you for your work! I pulled myself out of the Google hiring process after passing the technical in...
Collapse
 
gergelyorosz profile image
Gergely Orosz • Edited

This is a nice overview of the Google interview process - thanks a lot, Emma!

As a hiring manager now at Uber including for frontend, and talking with several other hiring manager friends at other larger tech companies (Amazon, Facebook, Netflix etc) the frontend interview process is not too different for larger tech companies and the tips shared here would apply at those places as well.

Some places - like Amazon or Uber - also have a Bar Raiser round onsite, that is similar to the "Teamwork, Process & Culture Fit Interview" described here.

The main suggestion I have for anyone preparing for interviews is to go back to basics on web development basics (like the topics Emma listed very well on the Front-End Interviews) and to spend time to prepare for data structures interviews and solving simple - not necessarily tricky - algorithms questions. Most places don't ask this to test if you have advanced algorithm knowledge. They do this, to see how you can map a problem, turn it into code with a simple solution (the brute force solution), test it, and potentially optimize it. This, second part is something that most people would fail without preparation upfront - preparation that will be useful for the rest of your career, I would add. I would not go deeper than the topics Emma listed: but, I would go deep into them and master these tools. So e.g. being able to implement a BFS or DFS (breadth-first-search or depth-first-search) is something almost all places will expect people to be able to write working code for, if asked. BFS and DFS is especially true for Google, where trees and graphs are a bit of the DNA of the company.

Thanks again for this great overview!

Collapse
 
sonicoder profile image
Gábor Soós

I always wonder why data structures/algorithms is a necessity for almost all places...if you need them, you read/learn/use them. I don't feel any less of a programmer not being able to implement them in minutes, except for the brute force 🤓

Collapse
 
gergelyorosz profile image
Gergely Orosz • Edited

I think you misunderstand what I meant by you need to know data structures and algorithms. Where I work, we don't ask you to implement any of these on interviews (some companies do ask this - though a lot more are turning into more practical problems). You need to know them, to be able to solve the type of coding problems that can be understood in 5 minutes and solved in 45 minutes with no framework dependencies. So things testing your problem-solving skills. Though when I learned about them, I implemented them for fun - as they're all pretty simple ones, and it's a fun little challenge to do so.

For places like Google and the like, to pass the interview process, you most likely need to prepare for these - become familiar with how the structures work, cases where they are good solutions, and if you're curious, looking into real-world examples where they are used (e.g. do you know what tree structure is a very popular to use for SQL database indexing and why? It's interesting to learn why and how).

Not knowing these doesn't make you a worse programmer. But you'd probably do worse on the interview than the many other candidates you're competing for that same position at these places where it's competitive to get through each of the rounds, and then getting an offer.

Thread Thread
 
sonicoder profile image
Gábor Soós

I see, but one thing is still not clear.

What is the extra information an interviewer gets from the candidate if he/she solves a problem with this lexical knowledge or another one where this knowledge is not needed?

Collapse
 
giuliano0 profile image
Giuliano Roberto Pinheiro

I think the main point comes from showing you know something that is easily testable (as algorithms and compleity analysis surely are) for your interviewers, you know?

The point, IMO, is not that you have to know them by heart because that is a skill you gotta know at any given moment. It is the process of learning and the growth that comes from it, and the specific areas of your reasoning those subjects encompass, that they should be trying to test.

In other words, as one of my teachers in primary school used to say: we are not here to teach you History or Mathematics or Chemistry, you're not gonna need all that. We are teaching you how to think, and each one of us [professors] is doing it the way he/she knows best.

Collapse
 
emmabostian profile image
Emma Bostian ✨

Wonderful comment Gergely! Thank you!

Collapse
 
madza profile image
Madza • Edited

One of the main cornerstones, that later dictates the success of the company, is the hiring and ultimately the people you let in. Many of the companies focus all the resources just to get max profit in production, not focusing enough on step one. Google and other large companies know that, so they invest a lot of money to really filter the best.

With that being said, this would also be a nice insight for people looking to start their businesses or managers looking to improve their hiring process. Nice read, Emma :)

Collapse
 
aqsu profile image
Aki Seppänen • Edited

IMO

Getting only the best of the best of the best with honors leads to a lot of frustration when the ultimate masters of coding have to do the basic grunt work that is 95% of real coding work.

Also having people jump through multiple hoops in their free time is also not a very compelling proposition for a lot of developers. I think it attracts certain types of people and not necessarily always the best of the best.

edit. So maybe my two arguments partly cancel eachother out :)

Collapse
 
emmabostian profile image
Emma Bostian ✨

Thanks!

Collapse
 
scrabill profile image
Shannon Crabill

Oh this is great, thank you for sharing what the process looked like on your end.

In your case, were all the roles you interviewed for meant to be located on-site (the Munich office, for example, or another other Google office)? I've been curious if Google is considering permanent remote roles for front-end, etc.

Collapse
 
emmabostian profile image
Emma Bostian ✨

I don't believe they do remote but I'm not 100% sure :)

Collapse
 
fszczerba profile image
Frank Szczerba

No remote for most tech roles, except that now we're almost all remote. It will be interesting to see how things change once we go back to a new normal.

Collapse
 
bengreenberg profile image
Ben Greenberg

Wow, what an amazingly thorough overview of the interview process! Word on the street is you are preparing a book on this very subject if this article is any indication, it's going to be a "must-have" when it comes out!

Collapse
 
emmabostian profile image
Emma Bostian ✨

Thanks Ben!

Collapse
 
abdurrkhalid333 profile image
Abdur Rehman Khalid

Excellent Overview and Nice Way of Sharing the Experience of Hiring Process Adopted by Google.

Thank you very much for sharing your experience as well.

That post was a very nice read, looking for learning more from you.

Collapse
 
gklijs profile image
Gerard Klijs

Thanks, it's a great overview. Really great to share the process to such degree. For myself I'm almost sure I don't want to work for Google. So far the smaller the company, the more I liked working there. But it might be a bit of coincidence.

Collapse
 
chiubaca profile image
Alex Chiu

Wow,the interview sounds really tough, so congrats for getting all the way through!

Do you have an resource recomendations for learning data structures and alogrithms for the things listed above?

You are absolutely right about not spending too much time on take-home projects. I had this experience recently where they said I should'nt spend more than 1 hour on it. But the problem I had nothing to show after 1 hour. I then proceeded to spend my entire weekend on it becasue I didnt know when to stop... @__@

Collapse
 
emmabostian profile image
Emma Bostian ✨

Yep I'm writing it now! gum.co/aUVXY

Collapse
 
vaibhavkhulbe profile image
Vaibhav Khulbe

First of all a BIG CONGRATULATIONS passing the technical interview! 🎉

Thanks for putting all those interview processes in a concise way also those bullet points and images in between will definitely help. I've subscribed to your newsletter on compiled.blog.

Good luck with your future and stay safe! :)

Collapse
 
emmabostian profile image
Emma Bostian ✨

Aw thank you!!

Collapse
 
dmakogon profile image
David Makogon

This is a great read. Lots of insights and great suggestions.

While Google's interview process might not be the same as other companies, your experience (and writeup) highlighted many takeaways that (in my opinion) apply globally and are beneficial to anyone preparing for a tech interview, two of which I think are absolute standouts:

  • asking clarifying questions. This is a big one, for me, especially when given requirements that are incomplete (which sometimes happens intentionally).
  • speaking your thought process. Sometimes there are many ways to answer something (often based on our own experiences), and speaking out loud, as we work through a problem, gives the interviewer a peek inside our brains to understand context.

Thanks for sharing.

Collapse
 
emmabostian profile image
Emma Bostian ✨

Thanks David!

Collapse
 
decorouz_ profile image
Adeyemi Biola

Thanks Emma for sharing your interview process. I imagine this process is not peculiar to Google and some of the tips you shared are useful for most interview process. Being a starter in the Dev-sphere, these tips will be useful as I prepare for what is ahead and even concentrate on my path(process) in the present.

I would like ask; how important is typing skill and speed in the context of interview and web-dev-sphere broadly ?

Thanks

Collapse
 
emmabostian profile image
Emma Bostian ✨

I don't think it's super important but every interviewer is different!

Collapse
 
steeve profile image
Steeve

Thank you for sharing your experience with us, a really interesting article!

"When you do a more focused amount of learning each day, you have a lower risk of burning out, and gives your brain more time to process the information you've learned."

I totally agree and it works for everything in life ✨

Collapse
 
varundey profile image
Varun Dey • Edited

Got a bit confused with loops between the steps but later realised I haven't taken my morning coffee yet. :P

Big time congratulations Emma! This is in many ways insightful than other interview-prep blogs.
Would it be okay to ask how did you apply to Google and which team in Google did you interview for? Also I understand you pulled out of the interview process before getting the result because you got another offer. But any reason of pulling your application out before receiving feedback? Thanks again for the post. :)

Collapse
 
samihk profile image
Abdul Sami Haroon

Thanks, Emma, your post gave me the confidence to apply for a job at Google. I have read many articles on this topic before yours and to be honest, I never felt that much of completeness in those articles. As a young engineer, I always thought Google won't be picking me as my Bachelors's is from Pakistan. And companies here do not put much focus on testing rather than delivering functionality.

By the grace of God, I was recently hired at an Australian AI firm because I was able to write test cases on top of the coding challenge.

I will apply for any big tech company, as I have seen rejection is the best part of getting prepared for the successful part of life.

Collapse
 
dougaws profile image
Doug

What's fascinating about most technical interviews is that most of their questions are about areas where you never tread in the job. Implement a linked list? I better not catch you doing that; you should be using a library call.

I'm also curious whether any company ever measures whether their current hiring process produces better employees that just randomly selecting a candidate. If they've never done such an A/B test, then they are just guessing.

Collapse
 
psagf profile image
Pedro Fonseca

First of all thank you for your post and congrats!
Although we all know that technical skills are the main focus on these kind of recruitment processes, I always struggled to understand why soft skills are left for last. They do have several interviews focusing on soft skills but for me that should always come first... Why should everyone spend precious time checking if you are up to the technical challenge if after that you're just not the kind of person that fit their culture. I can change and grow a lot technically but that's not that simple regarding the type of person I am. Just a thought.

Collapse
 
ivywalobwa profile image
Ivy-Walobwa

I woke up and this was the first post I read🙌... What a way to start your day with great motivation to learn and revisit my basics,.
Congrats Emma🎉🎉

Collapse
 
lmauromb profile image
Luis Mauro

Thanks for sharing Emma!

It is always encouraging to see successful stories like yours; congratulations!

After my on-site rejection on MS and another unsuccessful applications I felt really burned out and thought that all the effort and time was for nothing but it is nice to see that, as cliche as it sounds, failure is part of the journey and in time the right opportunity arrive.

Collapse
 
gottfriedcp profile image
Gottfried Prasetyadi

It is so sad that this Covid-19 altered the life course of many people.. but nice story anyway. You're awesome!

Collapse
 
ajinkabeer profile image
Ajin Kabeer

Thanks for this amazing post Emma.

Collapse
 
trevdev profile image
Trev

This post has tremendous value.

Collapse
 
emmabostian profile image
Emma Bostian ✨

Omg thank you!

Collapse
 
paulryan7 profile image
Paul Ryan

Great read. Thanks for sharing.

Collapse
 
bugsysailor profile image
Bugsy Sailor

Even though I love working for myself, I'd really love to go through this process for the experience.

Collapse
 
fszczerba profile image
Frank Szczerba

I loved working for myself and went through the Google interview just for the experience. I had no interest in working for a big company. I've now been there almost 7 years.

Emma's experience with the interview process is consistent with mine, with some minor differences for SRE-SWE vs Frontend SWE, especially the part about the interview going both ways. I enjoyed the process and was impressed by the people, and it's the people that keep me coming back every day.

Collapse
 
cassahanon profile image
cassahanon

Great post, Emma, and very generous of you to share your experience candidly and your advice based on your own learning.

Collapse
 
baeharam profile image
baeharam

Thank you! Emma! Great article about interviewing review! Can I translate into Korean?

Collapse
 
emmabostian profile image
Emma Bostian ✨

Sure!

Collapse
 
harpreetsandhu profile image
Harpreet Sandhu

Very insightful and well organized tips for interview.
Thanks for sharing your experience.

Collapse
 
blessinghirwa profile image
Blessing Hirwa

I have to save this post as I'll need in the future while interviewing for my first job as a web developer.

Thanks for all the advice Emma

Collapse
 
relerin profile image
Nazym

Thank you a lot!
Your review was inspiring and very helpful