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...
For further actions, you may consider blocking this person and/or reporting abuse
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!
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 🤓
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.
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?
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.
Wonderful comment Gergely! Thank you!
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 :)
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 :)
Thanks!
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.
I don't believe they do remote but I'm not 100% sure :)
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.
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!
Thanks Ben!
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.
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.
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... @__@
Yep I'm writing it now! gum.co/aUVXY
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! :)
Aw thank you!!
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:
Thanks for sharing.
Thanks David!
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
I don't think it's super important but every interviewer is different!
Thank you for sharing your experience with us, a really interesting article!
I totally agree and it works for everything in life ✨
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. :)
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.
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.
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.
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🎉🎉
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.
It is so sad that this Covid-19 altered the life course of many people.. but nice story anyway. You're awesome!
Thanks for this amazing post Emma.
This post has tremendous value.
Omg thank you!
Great read. Thanks for sharing.
Even though I love working for myself, I'd really love to go through this process for the experience.
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.
Great post, Emma, and very generous of you to share your experience candidly and your advice based on your own learning.
Thank you! Emma! Great article about interviewing review! Can I translate into Korean?
Sure!
Very insightful and well organized tips for interview.
Thanks for sharing your experience.
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
Thank you a lot!
Your review was inspiring and very helpful