How to ace the Google interview internship

Photo by Jess Bailey on Unsplash

How to ace the Google interview internship

Tips and steps to solve a technical interview

We all know getting through the door is challenging or more accessible, depending on how you do it. Covid is happening, but that doesn't mean some companies are not hiring. So how do we get things hot and wait for the time? First, I will share my experience preparing for my Google technical interviews.

General guidelines.

  • Resume Structure😍

  • Getting in (Journey in combo)🤩

  • Preparation for interviews😢

  • Solving the technical questions😩

  • Getting the offer🥳

Resume Structure

Get your resume in order.
- Resumes that stand out are always consistent.
- Education, Work experience, skills, projects, co-curriculum activities, and honor and awards.
- When explaining your work experience NB: Use metrics and numbers.
E.g., Build XYZ, and I was able to achieve XYZ.

Getting In

Various ways to get in:
* Referral( get referred by someone working there but look mostly into people you know).
* Participate in the programs. I had been accepted into some programs, such as Google Get Ahead(EMEA) and Google Inside Look. For Google Get Ahead, you need to be invited to participate; hence it is best to be part of their Slack channel. Once the programs are done, you get an opportunity to talk with a recruiter then the application starts.
* The recruiter is reaching out. Most guys have mentioned that recruiters will DM you if they feel your profile fits.
* Introduction. If a recruiter reaches out and you are not ready for the role, you can ask your friend to refer you to their recruiter. #ToGoodFriendsThatSpeakOnOurBehalf.🫡🥰

Now you got your foot in the door. Then what?

Depending on the circumstances, Google gives an coding assessment before you start the interview process. This is to weed out people. They also send Googlyness form to fill after the assesment to measure the culture fit.

Preparation for interviews

There are a lot of resources out there to help you, but I will share my favorite ones later.
1. First, you need to have your basics in order. Whatever language you use, make sure the basics make sense to you.
Ensure you are familiar with the following: `strings, lists/arrays, stacks, queues, recursion(Dynamic programming), trees and graphs, heaps, searching(binary trees, binary search tree, graphs), sorting (bubble, insertion, selection, merge and quick).`

2. Understand the most popular data structures and algorithms. You can study them according to techniques Neetcode is a perfect tool for that, or you can choose to do them according to the data structures shown in Algoexpert or Leetcode.

3. PRACTICE, PRACTICE, PRACTICE. Create a study schedule that allows practicing daily. Start with easy, then move to medium and hard.
Tip Google rarely ask easy questions, and their questions are not repeated. You can solve them according to techniques as well.
Implement spaced repetition to redo them once again after a week or two.
4. Do mock interviews. You might be good at code, but you MUST learn how to explain your thought process. Use resources such as pramp, Karat for US people only) and the best option is to practice with a friend. Leetcode and Algoexpert have places where you can do that, but you need to be a premium user.

Solving the technical questions

  1. Once the interviewer has shared the question, restate it into your understanding and ask if it makes sense to them.

  2. Write out examples or request more samples from the interviewer to give you more context to the problem.

  3. Analyze the problem and try to find an approach to work on

  4. Break down your thought process into English statements.

  5. Create a pseudocode for your solution. ( Hack: There are coding questions that might be too hard; hence some engineers accept this as a solution). Remember, basics are essential.

  6. Write tests cases to see if it will work

  7. Finally CODE.

Add-ons: COMMUNICATE.

Google has back-to-back interviews, depending on what role you are interviewing for. For internships, it's a 2- 45 minutes coding session with a break in the middle.

After you pass the interviews, you get moved to a team-matching process.
This process allows you to be matched to teams depending on your skills and experience.

Getting the offer

Once you wait to hear back from the team, you finally get your offer to join a team.

And finally, you can celebrate the hard work you have put in.

HACKS
1. Proactive. Something I did when I got into the channel a while back and asked recruiters to review my resume. This was a way to put me on their radar when the applications opened and also for them to share genuine feedback on what I could improve.
I talked to a few engineers on Linkedin to understand their experience and how they got into Google.

I wish you all the best in your interview process, and may light shine upon you.