Rubrik G5 | Interview Experience

rubrik logo
rubrik
G5
May 30, 20257 reads

Summary

I shared my interview experience at Rubrik for a G5 role, which included system coding, debugging, and a hiring manager round. I successfully completed the coding challenges focusing on graph algorithms, concurrency, and low-level system design, along with a behavioral discussion.

Full Experience

Round 1 - System Coding Round

This was graph problem which could be solved using topological sort. Interviewer was more focused on code quality, since this was not a DSA round. More focused towards low level design aspects. In the end she asked me how can I make the code thread safe. I was able to code fully working solution, ran it on few test cases. Also was able to answer the concurrency related questions.

Round 2 - Debugging Round

This was a standard producer consumer problem. He gave me a cpp code where multiple threads (producer and consumer) are trying to access the critical section. Was able to find the bug after one hint.

Round 3 - System Coding Round

This was again LLD + Concurrency round. I had to design a logical memory unit. Cpu can request for a page with given pageId. If the page exists in the logical memory we return it. Otherwise we fetch it from the physical memory. Also, you have to maintain all the page entries in the logical memory unit. And user may request for most recent or k-recent entries of a particular page. Solved the problem using hashmap and linked list. Where key of the hashmap is pageId and the linked list will store all the entries of that page. Was able to code fully working solution and ran it over few test cases.

Similar to round 1 he tested my concurrency knowledge and asked how can I make this code thread safe.

Round 4 - HM Round

This was a standard HM round. Where in depth discussion about my current project and product's arhitecture happend for 40-45 minutes. He was asking lot of cross questions and making sure I have in depth knowledge about my service and it's architecture. Then, he asked few behavioural questions like why do you want to leave current org etc.

Interview Questions (4)

Q1
Graph Problem with Topological Sort and Thread Safety
Data Structures & Algorithms

I was given a graph problem that could be solved using topological sort. The interviewer focused on code quality and low-level design aspects. In the end, I was asked how to make the code thread safe.

Q2
Debugging Producer-Consumer Problem
System Design

This was a standard producer consumer problem. I was given a C++ code where multiple threads (producer and consumer) are trying to access the critical section, and I had to find the bug.

Q3
Design a Logical Memory Unit (LLD + Concurrency)
System Design

I had to design a logical memory unit. The CPU can request for a page with a given pageId. If the page exists in the logical memory, it is returned. Otherwise, it is fetched from the physical memory. I also had to maintain all the page entries in the logical memory unit, and the user might request for most recent or k-recent entries of a particular page. Similar to round 1, I was tested on my concurrency knowledge and asked how to make this code thread safe.

Q4
Behavioral and Project Deep Dive
Behavioral

This was a standard hiring manager round. There was an in-depth discussion about my current project and the product's architecture for 40-45 minutes. The interviewer asked many cross-questions, ensuring I had in-depth knowledge about my service and its architecture. Then, a few behavioral questions were asked, such as "why do you want to leave your current organization?"

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!