Rubrik interview experience
Summary
I interviewed for a Software Engineer role at Rubrik in India and was rejected after several system coding, DSA, and HLD rounds.
Full Experience
Hi community, I recently interviewed at Rubrik and I am here to share my interview experience for Software engineer role - India.
Current company: Microsoft, 2.5 YOE
Round 1: System coding 1 [Last week of January] Implement a bounded thread safe queue. Implement a thread pool task executor. Folllow ups: How to handle exeception in task, how to implement timeout, or reclaim thread.
Round 2: System coding 2 [Last week of January] Implement reader writer lock. Various cases and how to handle that. Didn't go well so had to give a redo.
Round 3: System coding 3 (redo) [Second week of February] Memory allocation problem. Implement a thread safe - Car and Truck parking system in a 1-D array where each car takes 1 unit space and a truck takes 2 unit space.
Round 4: DSA [First week of March] Leetcode problem: https://leetcode.com/problems/count-lattice-points-inside-a-circle/description/ With strict constraints. `Number of circles can be 1e3` and `0 <= X, Y <= 1e5`
Round 5: HLD [Second week of March] Count the highest occurring word in a github across all repository. Infra given is set of VMs and you can run any piece of code on those VMs.
Round 6: Hiring manager round [Third week of March] Resume discussion and situational questions.
Verdict: Rejected [Mid April] Recruiter stated the HM said no due to the less depth in problems I have solved and they don't match to Rubrik complexity level. Other technical rounds went well and had positive feedback.
*Update: Added timeline* *PS: The recruiter hinted to take rounds as soon as possible as role gets filled quickly but I wasn't prepared so I took time before each round.*
Interview Questions (6)
Bounded Thread-Safe Queue
Implement a bounded thread safe queue.
Thread Pool Task Executor
Implement a thread pool task executor. Follow‑up considerations include handling exceptions in tasks, implementing timeouts, and reclaiming threads.
Reader‑Writer Lock
Implement a reader writer lock with various cases and appropriate handling.
Car and Truck Parking System
Memory allocation problem: implement a thread‑safe Car and Truck parking system in a 1‑D array where each car occupies 1 unit space and each truck occupies 2 unit spaces.
Count Lattice Points Inside a Circle
Given up to 1,000 circles with coordinates (X, Y) where 0 ≤ X, Y ≤ 100,000, count the lattice points that lie inside each circle. (LeetCode problem)
Highest Occurring Word Across GitHub Repositories
Count the word that occurs most frequently across all repositories in a GitHub organization. The infrastructure provided consists of a set of VMs on which any code can be executed.