I am Ranjith Kumar, 4th year computer science undergraduate.
I appeared for coding rounds of Rubrik, Uber and Nutanix. I don’t remember problem statements exactly. I will list out the topics they were on.
For Rubrik, there were 3 coding questions + few MCQs. One coding question was on binary search, one was a combinatorics problem and one was on implementing a data structure supporting some operations efficiently.
Uber’s exam was graphs-heavy. There were 3 questions. one was DFS+ binary search, one was finding all possible topological sorts and one was implementation based.
Nutanix exam had 2 questions. One was implementation based and the other was DP.
Google and Tower Research didn’t have any coding rounds. Google shortlisted on the basis of a good rank in Kickstart or an internship experience in a known company. Tower Research probably shortlisted on the basis of either high cg or good CV.
Google: Google Interviews happen before day 1. There were 2 telephonic rounds(45 minutes each).
In the First interview, they asked 2 questions: 1 on DP and the other on binary search. I was only able to solve the one on DP.
Second interview was on OOPS. Interviewer gave a use case and asked to write a class and implement a few methods. This round was straight forward.
I didn’t get selected for Google.
Rubrik: There were 3 interviews(2 technical(45 minutes each) + 1 HR).
First interview started with a very brief intro. Then he asked 2 questions: 1 on DP and 1 on binary search. After explaining my approach, I wrote the code on paper. Both the questions were complete by 30–35 minutes. For next 10 minutes, he asked some questions on my summer internship project at LinkedIn and GSoC project.
Then there was a break of ~10 minutes.
Second interview was on Implementing an interface for handling range read and write queries on a large(order of GB) read-only data. I took several assumptions initially to ease out the design. Finding an appropriate data structure was the key and with some hints I was able to implement it. It was my first time writing code on blackboard and the whole code looked pretty messed up in the end. After writing the code, there was very little time left. We discussed very briefly on how to elevate one of the assumptions taken earlier using paging. I was disappointed as I couldn’t provide practical solutions for all the assumptions in time.
Last interview was HR.
After a brief intro, there were some questions like systems vs ML, startup vs big company, further studies vs job etc. Towards the end, I asked him if there is any opening for internship at HQ. He told that he would forward my CV and performance in interviews to HQ and let them decide.
After some time, they informed me that I was selected.
I didn’t give interviews of Tower, Nutanix and Uber.
For internships, most focus is on algorithms and a bit on oops. For dual degree students, they might also ask OS, DBMS and networks concepts. I briefly went through Algo I notes, did InterviewBit and few questions from Leetcode in summers. For OS and other theory parts, I went through course slides.
Just before interviews/coding test of a company, I used to solve few questions from geeksforgeeks archives of that company.