RejectedSoftware Engineering (G5) at Rubrik
- Difficulty
- Process took
- 1-2 Weeks
- Rounds
- 3
- Format
- Remote
- Applied via
- Referral
How it went
- Even though I didn’t make it through, this experience at Rubrik was a valuable learning experience. I’m already gearing up for future opportunities with more focus on optimizing solutions and managing time effectively. To anyone preparing for multithreading or DSA-based interviews, stay focused, stay calm, and keep practicing.
What they would tell you
- Even though I didn’t make it through, this experience at Rubrik was a valuable learning experience. I’m already gearing up for future opportunities with more focus on optimizing solutions and managing time effectively. To anyone preparing for multithreading or DSA-based interviews, stay focused, stay calm, and keep practicing.
How to prepare
- While I was disappointed about the rejection, especially after performing well in the first two rounds, I see this as an opportunity to improve. In hindsight, I realized that time management and optimizing solutions quickly in DSA rounds are crucial.
- Always explain your approach clearly, even if you get stuck, and ensure your thought process is well-structured. It’s okay if you don’t have a perfect solution as long as you show how you think through the problem.
Round by round
- 1
Multithreading Interview60 min
I applied through a referral, and the entire process spanned four rounds The interview started with a warm introduction. The interviewer was friendly, which helped calm my nerves. The problem revolved around task dependencies, where a set of tasks needed to be executed in a specific order. Problem:
- Task 0 starts first,
- Once Task 0 is completed, Task 1 gets unlocked,
- After Task 0 and Task 1 are completed, Task 2 gets unlocked. I implemented a solution using multithreading to handle the dependencies and ensure the tasks were executed in the correct order. The interviewer seemed satisfied with my approach and how I managed concurrency.
- 2
Advanced Multithreading60 min
This round was a bit trickier and resembled the classic Bathroom Problem where multiple groups need access to a shared resource. The interviewer asked for various extensions to the problem to test my handling of concurrency. Problem Variations:
- How would you handle more than two groups requesting access to the same resource?
- How would you manage multiple resources/fields?
- How could you introduce priorities among different groups? I implemented solutions for each of the scenarios, ensuring resource allocation was managed properly and deadlocks were avoided.
- 3
DSA60 min
This round presented me with a challenge where I had to work with an infinite stream of numbers and determine the rank of a number (its position in descending order). It was a tough problem, especially when trying to manage infinite data. Initial Approach:
-
I started with a list and used binary search for insertion and lookup. This worked, but it didn’t efficiently handle space issues caused by the infinite stream. Optimized Approach:
-
I realized a binary search tree (BST) would be more efficient for insertion and search operations (log(N) complexity), reducing space usage significantly. However, I couldn’t finish the solution on time. Unfortunately, I only had 5 minutes left by the time I arrived at the optimized approach, and I couldn’t finish the code. The interviewer acknowledged my thought process, but the lack of a complete solution led to rejection.
-
What came up
A candidate-reported account, lightly edited. Interview processes change by team and date.
Sources
Hiring now
Rubrik has 166 open roles right now
landed applies to roles like these for you, on each company’s own site, with answers written for the role.
Software Engineer - UI Test
Bangalore, India
Software Engineer - Cloud Native Protection
Bangalore
10 free auto-applies. No card.
Or practice this interview first