How I landed Research Internships at Google and Microsoft as an undergrad
I am an undergrad at BITS Pilani (Goa). I have been an intern at Google Research and am currently at Microsoft Research. I’ve been often asked about the hiring process, tips etc, so I decided to share my journey!
The best way to know about openings at Google is their careers page (set alerts to stay updated).
Google India has a unified hiring process for the Research and Engineering teams. I applied for the position of Software Engineering Intern for Summer 2020. The first round was resume shortlisting, followed by two interviews. Both the interviews were about 45 minutes each and 15 minutes apart. The interviews only tested data structures and algorithms. There was no HR round. Closer to the start date, we were asked about our preferences in the technology, teams and prior experiences. Based on this we were assigned our teams.
So, the hiring process for a SWE intern at Google Docs was same as SWE intern at Google Research. Google does have Research Internship positions, but usually the student is required to be enrolled in a Masters or PhD programme.
Things that probably helped me:
- Resume: CG>8.5, prior internships and projects. One thing I’d like to point is you do not need to have prior experience in a subject relevant to what you’re applying for. I think all your resume needs to show is that you have interest in tech and have good problem solving skills. For instance, all my previous work was related to quantum computing.
- Interviews: I’d strongly recommend you check out the book — Cracking the Coding Interview, by Gayle Laakmann McDowell. It would be useful to brush up your DSA, practice problems and most importantly, gain insights on how to give an interview. Apart from that, LeetCode and GeeksforGeeks (an any other platform you prefer) should be good for practice.
The hiring procedure for a Research Intern is considerably different. You could check for openings at their careers page and apply there. I would recommend you to check out the webpages of the researchers and groups at Microsoft and email the group you are interested to work with. About 4 months before the start date of your internship should be a good time. Usually an opening is listed on the group webpage, but send an email even if its not!
The further process is dependant on the group you’ve applied to. I was shared a research paper and asked to write a summary. Next, I had an interview where I was asked questions related to concepts machine learning, the paper I had summarised, my previous projects, etc.
- Brush up your basics: If your applying to an ML group revise SVMs, regression, classification, clustering and other basic algorithms. Be clear with the advantages and disadvantages of each.
- Know you resume thoroughly. Do not write things on the resume that you have not done, or you do not know well.
- This is obvious but equally important: Be honest. If you do not know something or don’t remember, let them know!
I hope this helps!