What is the STEP Internship?
STEP (Student Training in Engineering Program) is a 12-week internship program for undergraduate students with a passion for computer science. The internship program has a focus on providing development opportunities for undergraduate females through technical training and professional development. Eligible students for STEP India are female undergraduates majoring in Computer Science or closely related fields, either in their second year of B.Tech or in their third year of Dual Degree.
The Entire Procedure for STEP
The applications on Google careers portal open up around late November or December. Students can directly apply on the google career page. Some colleges are also directly approached by Google for applying on-campus for the same.
There are mainly two rounds. The first round is a resume shortlisting round, followed by two 45-minute technical interviews purely based on Data Structures and Algorithms.
The interviews this year were conducted starting from 7th Dec 2020 ongoing till late January. Both my interviews were on 14th Dec, with a break of one hour in between. I was notified about my results on 21st Dec, by a phone call from my recruiter.
Apply on Google careers portal → Resume shortlisting → 2 x Google Meet Interviews → Get a call from your recruiter!
How I prepared for the STEP technical Interviews
I found out about STEP around July and reached out to previous STEP Interns on LinkedIn to know more about their experience and their preparation. My preparation was based on suggestions from my seniors and previous STEP Interns.
Firstly, the technical interviews in STEP are purely based on Data Structures and Algorithms, and they do not ask any questions on OS or DBMS. Knowing Object-Oriented Programming is a plus point since some questions can be simplified using structures and classes, and make your code more impressive.
I started practicing coding initially on Hackerrank where I improved my basic DSA and problem-solving skills. Then, I started with competitive programming on Codeforces and also did the A2OJ ladders of up to 1600 rating. Competitive programming proved to be really helpful in improving my Data Structures and Algorithms, which I believe is crucial for technical interviews. I had also been practicing on Leetcode around that time.
A month before the final interview I started with InterviewBit and Leetcode more extensively. I followed Leetcode’s explore cards for topic-wise practice and parallelly practiced topic-wise questions from InterviewBit. Towards the end, I also did the Leetcode’s top 75 and Leetcode’s Top Interview questions for my final prep. I also skimmed through the book ‘Cracking the Coding Interview’ in the last week. And of course, GeeksForGeeks was really helpful throughout.
Seniors had told us that we shall be prepared to face questions that we have never seen before, and yes that's exactly what happened with me. None of the questions I was asked in either of the interviews I had seen before :)
Some of the most important topics asked in Google’s STEP interview are arrays, strings, trees, dynamic programming, and graphs. But yet again, you can expect anything in the interview, like I was asked a question on Bit Masking. So I would suggest having your basics strong, and you will be good to go!
Here are the links for all the resources I’ve mentioned above:
2. Codeforces
3. A2OJ Ladders
The Interview Experience
Each interview is only 45 minutes long, and hence the interviewers generally get right at it without even asking for an intro. The interview call was on Google Meet and an editor was shared, on which you are first asked for your preferred coding language(C, C++, Python, Java) and then the first question would be put up with space for you to write your code. You are expected to think out loud your ideas and approaches for the problem given. After explaining your approach, the interviewer will ask you to think more and further optimize your approach. You are allowed to code your solution only after the interviewer has approved that it is the most optimal solution for the problem. Make sure to take care of all the edge cases as that’s very important. If you have successfully solved the first question and completely coded it out, you may be given the second question or a follow-up question as an extension of the first problem. Ideally, each interview is expected to have either 2 moderate problems or 1 hard problem.
During the interview, the interviewer will take notes of everything you say, all of your approaches, and your thought process. Hence, it's crucial to speak out your ideas and approaches and engage in a discussion with the interviewer to be a great learning experience for you and the interviewer to understand you better.
All in all, the entire experience was overwhelming, fun, and a great learning experience! Getting to interview with Google in my second year in itself was HUGE for me. On 21st Dec, I got a call from my recruiter that I had been selected for the internship. I was literally crying with joy :). I’m super excited and really looking forward to the internship this summer.
All the best! Keep Learning!
Update: The internship experience was surreal!
(Check out my other articles: https://linktr.ee/shivangitomar )