My name is Carter and I’m a 3rd year computer science student from Oregon State University. I’ve worked for 3 years at OSU as an informational technology technician and web developer, have published and contributed to a decent amount of open source software, and have only had one small internship in high school as a software engineer working on computer graphics at OSU. I’ve applied for a handful of internships in the past, but have rarely gotten much more than an online assessment. I have accepted an offer as a Site Reliability Engineering Intern at Cisco Meraki, and this is my interview experience.
In late January, I got a message from a recruiter asking me to apply to the role and I submitted my application the same day. About two weeks later, I got an email from the recruiter letting me know that they wanted to move forward with scheduling my first interview.
The interview process consisted of a phone screen with the recruiter, followed by two technical rounds over a video call. The phone screen was only about 15 minutes while the technical interviews were each about 1 hour long. It took about a week each time to hear if I had made it to the next round of interviews, and a few days to find out the results of the hiring process.
Before the interview process, I went through all of the lessons in the LinkedIn School of SRE, as well as some other SRE interview prep sites, listed below:
I found the LinkedIn School of SRE very helpful in my preparation, and definitely recommend it to anyone interviewing for SRE roles.
For the programming portion of the interview, I did some practice in CodeSignal (I hate LeetCode style interview prep, but have found CodeSignal Arcade to be the least painful) to brush up on some algorithms and Python skills.
The phone screen was a very short and informal call with the recruiter, mostly confirming some of the details on my resume, discussing the job description, location preference, desired pay, etc. The recruiter was very nice and friendly, and at no point during the call did it feel like an interview. I was surprised with how quick and simple it was when it was over.
First Technical Interview
The first technical interview was focused on UNIX / system administration skills where I SSH’d into a machine and performed a variety of tasks, including things like identifying the details of a server running on the machine, doing some searching and replacing, etc. I got slightly stuck a few times, but the interviewer was very reassuring, telling me how her interns get stuck on and ask her about the same things, and she was happy to see me attempting to troubleshoot the issues and try different solutions.
While some tasks were very easy for me with my existing experience in UNIX, my interview prep, especially the LinkedIn School of SRE, definitely came in handy here. I finished the tasks with plenty of time to spare, then we spent a few minutes chatting about Cisco and the interviewer’s experience. I left feeling very good about the interview, and again, the interviewer was very nice and friendly.
Second Technical Interview
The second interview was a programming interview over CoderPad. While scheduling the interview, I was told that it would focus on fundamentals, programming skills, and algorithms.
I was asked to write a rudimentary load balancing algorithm along with a number of test cases to ensure that the result was correctly balanced. While I was initially told that I would need to use Python or Ruby, the interviewer told me that if there was a language I felt more comfortable with, I could use that instead.
It took me a while to get started, but I eventually came up with a solution, wrote a number of test cases that passed, and felt pretty good about my work. The interviewer told me that there were possibly edge cases for my algorithm that did not balance perfectly, but we spent a few minutes thinking of other test cases and never came up with anything that didn’t pass.
At that point we were about 35 minutes into the interview and decided to conclude the programming portion. We then spent another 10 or so minutes discussing Cisco and the role before concluding the interview. While I didn’t feel amazing about my solution, I was happy with my code quality, test cases, and speed, and really enjoyed the conversations with the interviewer.
A few days after the final interview, I got an email telling me that I passed the interview, but there were no more open positions in the summer cohort, so they could offer me a fall term position instead.
After a few weeks of discussions with the recruiter and advisors at my university, I was able to get everything in order and decided to move forward with the fall term position.
I was then handed off to a different recruiter who discussed my circumstances and presented me to the hiring managers. About three months later, I received my offer letter and had a call with the recruiter to discuss the details. While I won’t go into the details, for the sake of transparency, I received a very good offer, similar to those listed on levels.fyi, which I was very excited to accept!
Overall I was very satisfied with the whole interview and offer experience. While it did take over 4 months from application to offer letter with long gaps of no communication, I attribute a lot of this time to the complications of changing my offer from summer to fall term.
Everyone I interacted with at Cisco was extremely friendly, and I was very pleased with the offer I received. This was definitely the best interview process I’ve been through where everyone was extremely positive, polite, and helpful. At no point did any of the interviews feel like an interrogation, rather it felt like they wanted to help me succeed and were passionate about their work and company. There’s a reason Cisco is rated the best company to work for, and it showed with how much everyone cared about the culture and through the benefits in the offer.
While it’s been a nerve-wracking process, everyone has been very helpful and reassuring, and I can’t wait to experience my first real internship in San Francisco!