← Interview experiences
Rejected

Software 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. 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. 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. 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

HardRemote2 3 years

A candidate-reported account, lightly edited. Interview processes change by team and date.

Sources