How I got my internship at Google - The interview process with tips and resources
Divya Sri Darimisetti
Posted on February 4, 2022
I am Divya Sri Darimisetti, a student currently pursuing my BTech in Electrical Engineering from the National Institute of Technology, Rourkela. I am neither a competitive coder nor a GSoCer. I had a phase in my life where I had more rejections than the hens in a hen house, starting from a few startups, fintechs, and even some student leadership programs. So, this blog is undoubtedly for you if you are like me!
Ever since I’ve received an internship offer from Google, there have been a few questions from curious individuals who wanted to know about my preparation strategy and the application process. So, I decided to write a blog to cover all the queries. I would like to mention two points before going ahead.
- I’ve never explicitly prepared for an organization somewhat never expected a call from Google.
- NOW is never too late regarding when to start the preparation.
When do the applications open?
The applications usually open during mid-August and September for the APAC region specifically for SWE and AE roles. I’ve applied for the Application Engineering internship on Sept 5th, 2021. I know you might have a thought popping in your mind which says, “Do we need to check the career sites of various websites frequently?” My answer depends on if you are organization-specific or interested in various areas. It wouldn’t be hard to check once a week if you’re organization-specific. If you aren’t specific, look out for posts on social media like LinkedIn and join social groups on telegram where they would frequently post such opportunities. Through a telegram group (username: @internshipandhackathon), I got to know about SWE internship openings and checked out for other roles.
What do they ask for in the Application?
I was asked for basic details, a resume, transcripts, and a link to any website like a portfolio in the application form. A portfolio site would be a wonderful way to showcase your work as a developer. Check out mine here. Even if you’re not into web development, there are a lot of no-code platforms and basic web dev templates which make your work easy. Moreover, you don’t need to have 100% of the preferred qualifications mentioned. Around 70% would be great to apply because you can learn the rest 30% on the go provided you are interested in that area.
Don’t hesitate to apply for companies and fellowships thinking you’re unqualified. If you have the curiosity and passion for learning and experimenting, everything will fall in the right place at the right time.
Your work speaks for you, and most companies do resume shortlisting before proceeding further, so maintain an excellent standard resume with 2-4 good projects, extracurricular activities, and achievements make sure the content in your resume aligns with the requirements of the role.
What do AEs do?
Application engineers play a specific role in developing, deploying, and supporting Google’s internal business applications. Depending on the situation, they might implement vendor-sourced enterprise software, configure the software, customize and integrate it with other internal systems. Other times, they’ll primarily create custom-built software. For now, this brief overview would do since elaborating about the responsibilities will make it lengthy and isn’t essential in this context.
The Game starts
After two months approx., I received an email from a recruiter at Google on November 11, 2021, stating that I was receiving the mail because I applied via one of Google's Hiring sources and was shortlisted for an internship opportunity for Summer 2022 for Application Engineer role. They’ve asked for my resume and based on my interest and capabilities, and they said they would follow up with details of the interview.
The interview process - the exciting part
Each interview was scheduled for 45 min with one Google employee. I cannot disclose the questions due to an NDA signed earlier. Usually, there are two rounds, one on system design and the other on problem-solving with DSA, designing and implementing data structures algorithms.
Round 1 - The shared coding doc interview, aka problem-solving
I’ve received a follow-up mail from a recruiting coordinator in the evening stating that my interview was scheduled for the next day and to confirm if I would be available at that specific time. I didn’t expect the interview to be so near, so all I did was go through my notes till whatever I could cover before the time. This interview was one of the friendly interviews I experienced. I was nervous, but the interview took the first 5-10 minutes to do an introduction and ensured I’m comfortable. Later, I was asked a question from DSA. I knew the interviewer wasn’t satisfied in the first half because he couldn’t get what I was trying to do and could point out errors, but in the last 15 minutes, I explained to him about my approach, and he was impressed by the way I approached the problem. I could get from his smile and “all the best for you next round” that I’ve done well.
Speak out loud throughout the interview so that the interviewer is on the same line with you.
The shared plain doc interview aka Application design round
After around ten days, I’ve received another email from a coordinator saying that they were happy to connect me with another team member for an interview. It was scheduled for the next day in the afternoon. I’ve confirmed that I will be available. Coming from a non-CS background, I was unprepared for this round since I never studied any system design concepts nor explored that part of CS myself. I binge-watched and made notes from Gaurav Sen’s YouTube playlist. I asked my recruiter regarding the details of the interview. She provided me with material on how to approach application/system design.
- Chat Messaging Systems for Interviews (Focus on the approaches and explanations about how to tackle design questions)
- Prepare for Your Google Interview: System Design (Focus on the Google nuances when it comes to design questions)
The interviewer was straightforward. He asked me nothing except my name and jumped into the question to save time. Having experience working with full-fledged web development projects earlier, the question was easier to solve with minimal system design knowledge. I couldn’t present my approach in a structured way to the interviewer but made sure that I cleared my questions and stayed on the same line with the interviewer. We had a time crunch. The interviewer asked a few questions to ensure all critical areas were covered. I couldn’t complete the architecture part, so I felt I messed it up and didn’t expect further process.
System design rounds are more like a conversation. Make sure to clarify everything with your interviewer.
Even if you aren’t sure, make sure you answer instead of going silent and reason for the specific answer. If it’s wrong or you can have a better approach, the interviewer will help you out or ask questions to help you achieve the clarity needed.
The unexpected shared coding doc - the final round
Unlike previous rounds, I received this mail after a week. The interview was scheduled for the same day at night. Usually, it’s only two rounds. I felt that it’d be hard to go through the third round since I’ve read that they’ll grill you and might not extend an offer in an article. I’ve decided to give the interview to learn and enjoy the process without any hope for an offer. The interviewer was friendly like the previous two. He just asked if I wanted to say anything about myself, so I gave a brief intro, after which the interviewer started the round. The whole interview had two questions. I could solve the first question in 5-10 minutes. For the next half an hour, I continued with the next question. Though I could write an O(n) approach solution, the interview had an O(logN) solution on his mind which I couldn’t figure out during the given time. I asked the interviewer about the better approach, and he said to take it as homework and left a slight hint. I was satisfied with my performance but had no hope. I didn’t expect another coding round since I messed up the design round. It went well when I look back now.
At the end of every interview, interviewers will ask if we have any questions. Make sure you have good questions about the role or what you’re curious to know about them. My first interviewer loved my question since he had never experienced anyone ask him the same one to date.
The Offer - The OMG moment - End Game
After approx. ten days, I got an email from my recruiter congratulating me and asking to share my acceptance by the EOD (end of the day).
During my process, I have reached out to a couple of awesome folks on LinkedIn and got some amazing set of resources which I am compiling here. In case you want to know something more feel free to comment down below or reach me out on LinkedIn.
Resources
System Design: DBMS concepts, SQL, and some experience with app/web design
Gaurav Sen's System Design Playlist
DSA: There are a lot of resources out there. Each individual prefers a different one.
If you prefer books,
If you prefer video lectures,
Paid:
GFG's DSA self-paced course (in CPP and java)
Abdul Bari's mastering DSA course on Udemy (in C and CPP)
Free:
YouTube channels
I prefer the CTCI book and GFG self-paced course. Hackerrank, Leetcode, and GFG are good platforms for beginners.
Hackerrank and Leetcode are highly recommended platforms by everyone. GFG is good for clearing out concepts and implementations.
While preparing, learn how to build a particular data structure from scratch since few companies ask such questions.
So, summing up, this is my journey in getting the opportunity from the world’s most famous tech company. I hope you learned something new from my experience and even got the confidence.
Posted on February 4, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
February 4, 2022