Senior Software Engineer @BlueJeans by Verizon
Sudhir Giri, SDE at Google, shares tips for software engineering aspirants. From preparation strategies to interview experiences, here’s all you need to know
Google is undoubtedly the World’s best and most successful software company. The organisation has set its standards so high that most of us blindly trust the products offered. After all, it serves undeniable perfection. From the largest (and most efficient) search engine to our lifeline - Google Maps, Google has truly transformed our lives.
Among all the software engineering job interviews in the world, an interview at Google requires exceptional problem-solving capabilities from candidates along with deep analytical and critical thinking.
Now you know why Google is Google - simply because of its amazing pool of outstanding engineers.
Getting into Google is a common dream for most software engineers in the world. However, the path is quite challenging. It requires an in-depth understanding of data structures and algorithms, practice of competitive programming, and brushed-up problem-solving skills.
Cracking the Google interview has been a tough nut to break, even for the best of the programmers and software engineer candidates.
It felt like a necessity for us, Preplaced Mentor Community, to help all the enthusiasts out there by addressing the expected challenges. So, we reached out to Sudhir Giri, a Software Engineer at Google.
Mentor Sudhir Giri, who is currently a Software Engineer at Google, shares valuable insights about interview preparation for the role of SDE.
We discussed the various challenges a candidate has to face, how they can overcome those, and some common mistakes to avoid while preparing for a software engineering job.
We talk about numerous plans and strategies aspirants can adapt to prepare optimally for software development interviews.
He also shared his tried and tested strategies for approaching the interview preparation stage.
Here are some of the key takeaways from our discussion:
✪ Bachelor’s degree or equivalent practical experience.
✪ 3 years of software development experience, or 1 year with an advanced degree.
✪ Experience in web/mobile application development, Unix/Linux environments, distributed/parallel systems, information retrieval, networking, or systems/security software development.
Sudhir explains that the Google interview process is divided into mainly 3 or 4 stages depending on the candidate’s professional experience:
Sample Coding test - Only for freshers or interns
Phone Screening Round (Can be 2 rounds too, based on the candidate’s profile)
Onsite Round - Consists of at least 4 technical interviews
HR Interaction Round - Behavioural interview
Let's dive deep into each of these to get a better understanding.
In case you're applying as a fresher or for the intern position, you will usually need to start with an online coding sample test. The test consists of two questions that candidates need to complete within 90 minutes.
The questions are expected to be quite similar to the ones you'll be asked in your interviews, i.e. from data structures and algorithms.
If you're a candidate with professional software development experience, or in case you are a fresh graduate, and you successfully passed the coding sample test, you'll be then interviewed in a couple of technical phone screening rounds.
It should be noted that the stage is called "phone screen", but is often a video chat on Google Hangouts / Google Meet.
Each of the phone screening rounds will go for around 30 to 60 minutes. In those interviews, you will probably interact with peers or potential managers, and you will be asked to solve data structure and algorithm problems.
Onsite interviews are the most important and set up the defining stage.
A candidate typically spends around a full day at a Google office to attend four to six interviews in total. Each interview will last approx 45 minutes and will be based on the following topics:
✪ Coding interviews
✪ System design interviews
✪ Leadership interviews (management positions only)
So a candidate should typically get three coding interviews consisting of data structure and algorithm questions, along with a couple of system design interviews.
Additionally, all candidates are expected to ace their coding interviews, solving almost all questions optimally.
Now, if you're relatively junior (L4 or below) the system design interviews will be a bit less intense than for senior engineers (L5 or above).
You'll use a whiteboard to write your code in most onsite interviews at Google.
There are primarily three key factors interviewers consider while shortlisting through resumes:
Problem-Solving Skills: When making your resume, make sure that you are confident with your problem-solving skills, and do mention that.
Project Contributions: Mention what kind of projects you have worked on in the past, along with what were your contributions to those projects.
Competitive Programming Experience: Tech giants like Google focus a lot on your complex problem-solving skills, and your competitive programming experience tells them that. So, don’t forget to add it to your resume.
Get your DSA basics clear and strong first. There are ample free resources and books available for learning DSA from scratch.
Once you’re pretty confident with your DSA understanding, you can start preparing for interviews by solving programming questions on the following platforms:
Preplaced can help you get your dream job by optimizing your preparation journey. Take mock interviews & 1-on-1 mentoring sessions with experts from the world’s top companies. Find more information on our blog.
You can watch our complete discussion with Sudhir here.