How I passed my interviews for an intership at Google

I passed the interviews for the Software Engineer Internship at Google, but I was not able to conclude the hiring application due to some factors, which were beyond my reach. This process was not as dramatic as Facebook's one. But it still has some lessons to learn from.

All the applications I did.

When I applied for the third time to Facebook, I decided to apply to Google as well, but I applied to Business Intern... I didn't have a mind at that moment. Anyway, the link to apply to Google internships is here. I would say that to apply to Google you will need to build a coding profile, you can make some coding projects such as web applications, develop an app, share something cool in your GitHub or just practice in the coding competitions of Google. In this post I will write about the 2 times I got an answer to move forward with the internship process, and about the coding competitions of Google.

First try: Software Engineering Intern, Summer 2020 - Sydney (Apr 2020)

I applied to Sydney because due to Covid all the other internships were already closed, and Australia sounded like a great option to get a view of how the first world is. They gave me a coding assessment before continue with the phone interviews.

Coding assessment: the problems were HARD, really hard, 2 problems for 45 minutes. I had enough knowledge to solve the first problem until Sep 2020 and it took me like 50 minutes, and to be honest, I still have no idea how to solve the second one in an efficient way. It was not a surprise that they didn't move forward with the application. Anyway, more time to prepare for the next try.

Second try: Software Engineering Intern, Bachelors, Summer 2021 - USA (Oct 2020)

I applied to Facebook in September 2020, but I was not getting any answer from my recruiter, so I applied to Google as well, and I was surprised that I got 2 positive answers to move forward with the applications. I wanted to do my best.

Coding assessment: I had 2 easy-approachable problems for 1 hour 30 minutes, this assessment was like 10 times easier than the last one. Maybe I was just lucky. After 2 weeks I got an email that we would move forward with the internship process.

The summary of my first interview: This and the next interview were on the same day and like 10 minutes break between both. This interview was bad, but mostly because the microphone of my interviewer was not working well, so I was truly struggling to understand what he was saying. I understood the problem until I asked my interviewer to please write it down in the document. I was able to solve kind 70% of the problem but I missed a lot of time in the beginning due to the microphone issues.

The summary of my second interview: I was nervous after the previous interview, but I needed to control myself and keep focus for this interview. I did this interview well, I understood everything my interviewer said, I solve the first problem really fast, then the second one took me like 5 minutes to figure out the best algorithm, thanks to a hint I got, then I was able to solve a third small problem and I still had some minutes left to talk with my interviewer. She was really kind and we talked about the dooglers inside Google. I think this is my best interview performance so far.

The summary of my third interview: I think that after checking the reviews, they decided to give me a third interview to replace the first one. To be honest, I feel that I made this one just "good enough", I mean, I solved the problem, debugged my solution, and discussed the complexities, but I didn't say things that I should have said to give an extra. You should focus to always give the extra in the interview to feel more comfortable that you will get a positive answer. 3 weeks after (right today that I'm writing this) I got an email that we will move to the Project Search Stage, the final part to be formally inside the internship.

Project Search Stage: congratulations! I am accepted, but I still do not have a formal offer. How is that? Well, Google wants you to find a good project that fits all your skills, experience and the new things you want to learn. This process takes between 6 to 8 weeks. The problem is that to move on to the final internship offer, you need to accept a project, and be accepted by its team as well, and if you were not able to conclude that with any team, your application is closed and good luck for the next time you apply.

Closure (24th March 2021)

There were a bunch of things that made the hiring process more complicated than usual:

So, today I just received the awful email I didn't want to read. My profile didn't match up with any of the current teams with open positions. Too sad, but let's see this as another opportunity to keep practicing and learning.

Bad news.

Google's Coding Competitions

Google Hash Code

For this coding competition, you will need a team. You will have some data sets as txt files and you will need to process them, and then generate an output file in txt format. You need to be in the top 50 teams to be able to move to the next round of Hash Code. I like this competition, try to do it with your close friends who are also into getting an internship in a software company.

It has a practice round a month before the real competition, this one is just to practice. The actual round has the real problem and 4 hours to complete, and it also has the extended round, which is just for fun and sees what is the best score you can get in 1 month after the real competition just ends.

Google Code Jam

In this competition, there are several rounds you need to pass, and there is a big economic price for the first places at the end, it is hard, but you can also practice here your coding skills.

Google Kick Start

This competition is just for fun, there are a lot of rounds throughout the year, but you don't need to get a top in one to get to the next one. You can participate in as many as you want. I think that where I became really strong with data structures and algorithms was here.

My personal conclusion

Sometimes you know that you have the talent, but you don't believe where you are. Dude, live the reality, you are in the interviews and you are just a step away from the internship. You must do it. Don't mess it up as I did in my first interviews.

And if you are not in the interviews, you must practice at any coding competition, coding topic, coding conference... you can learn something at any of them. Effort is not enough, you must put effort and time into the things you want to achieve.

This time I didn't receive all the things I was expecting due to all I did, but I gave what I am and that's what matters. Let's keep working and try again in the future.