Background:
I applied in September 2019. This is a 2 year rotational program for new grads. Year 1, they place you in teams according to the classes you have taken and technologies you have experience with, year 2, you choose your own teams.
First pre-screen interview:
Feb 28- The recruiter confirmed what kind of technical classes I have taken, why I'm interested in the company, my work status eligibility, the project I'm working on at my current internship. I guess based on this she was going to (or not) push me to the next round (she did). At the end of the call, we scheduled a phone interview for the following week, and discussed an onsite interview for the week after if I made it through the next round.
Phone Interview:
March 6- My interviewer was super nice, asked me why I wanted to work for the company. I went on about how I value diversity and tried to tie in some of their core values into my answer. She also asked a few other behavioral questions and then onto the technical which I was able to complete and walked her through some test cases at the end. No discussion about time/space complexity. A few questions about the pro/cons about static usage.
https://leetcode.com/problems/longest-palindromic-substring/
(Virtual) Onsite Interview- 45 mins each
March 13- They couldn't fly me in for the interview (COVID) so I think they made all their onsite interviews virtual via Zoom.
Round 1-
This was with a young SE
Some basic behavioral questions and 1 technical
https://leetcode.com/problems/number-of-islands/
This but tweaked so that you return the max # in the largest island. Discussed space and time compexity.
Round 2-
This round was with a program manager that asked me what I knew about their comany and their products. This whole round consisted of numerous behavioral questions. She also wanted me to walk her through a project where I had bugs or issues and how I went about fixing those issues, she wanted all the technical details (I was not prepared for this, it has been a while since I worked on that project)
Round 3-
This round was with an awesome tech lead that wasn't looking for a solution to his technical question, but wanted to see my thought process. I told him how I would approach it and he would correct me if I was wrong and walked me into the right direction but didn't just hand me the answer. He continued to 'quiz' me as we went and we came to a solution.
Question-
Geeks for Geeks - Expression Tree
We solved it recursively.
Preparation
Before beginning preparation for this, I had already completed about 65 leetcode problems (still pretty new to this). Although I have leetcode premium (10/10 recommended), I focused on top interview questions category for these interviews. I also had a whole script (word doc) ready for some of the general questions you get asked about your introduction, experience, and why this comany, it helped me get in a rythm and calm my nerves.
Tip
It's super important to know your technical material but just as important to be able to hold a conversation! Every single one of my rounds had behavioral questions to see if I would be a good culture fit and someone they would want to be around/work with. Research the company's core values, mission statement, and products. I am an average coder so I think my conversational skills definitely helped push me through.
Overall a super fast process and I am SHOOK that I got selected, their package is also pretty solid for a new grad position.