Rubrik | Software engineer 2 | Bengaluru | Rejected
Summary
I interviewed with Rubrik for an SDE-2 role in Bengaluru. I had two screening rounds, with the first focusing on concurrency and multithreading problems, and the second on system design, leading to a rejection after receiving 'Lean Hire' feedback for both.
Full Experience
Background
Education: Tier-2 Experience: 4.5 Years (FAANG) Designation: SDE-2
Sharing my recent interview experience with Rubrik
Took a referral from a friend and HR reached out to me at very same day. Rubrik interviewers focus on concurrency and multithreading. I was asked to prepare for screen round where topic will be on concurrency.
Screening round 1
I was asked standard Rubrik question
- Question - 1: Implement a bounded queue of infinite size
- Question - 2: Implemented a thread pool using previously made bounded queue. These methods were required to implement:
- submit()
- execute()
- shutdown()
- shutdownNow()
My Review: I had implemented the complete requirement but interviewer was not completely satisfied on shutdown(). Also, he was focusing on what kind of exceptions I was catching. (InterruptedException and Exception was not enough).
Interviewer was recently joined rubrik and had overall experience of around 2 years. He seemed relatively new to conducting interviews because he changed requirements 3 times during the interview and was not aware about java keywords like thread interrupt. In overall interview, he was talking more than me. :)
HR Feedback: Lean Hire
Screening round 2
- Question - 1: Given an interface with methods:
- fopen(filePath) -> return int fileId
- fclose(fileId)
- read(fileId, offset)
- write(fileId, offset)
Implement a linux cp command using above interface methods only.
- Question - 2: Assume a scenario where we are copying from floppy disk and pasting into the SSDs, how we will optimise our
cpcommand.
My Review: Interviewer joined 10 mins late then we started with bried introduction then moved to the above mentioned questions. I was able to implement the first question completely in first 25 mins (started 10 mins late so already 35 mins of interview).
Then we had discussion on 2nd question where I proposed to read in multiple threads with specified size of chunks and merge them together before pushing to the SSD (writes are costly in SSD, had to do as minimum as possible). We agreed on the same.
Started coding but he asked me to not use any Java features like ExecutorService / ThreadPool. I messed up a little while implementing the solution with syntax as we were low on time.
HR Feedback: Lean Hire
As I got 2 lean hire therefore I was rejected. HR was pretty helpful and responsive throughout the rounds.
Interview Questions (4)
Implement Bounded Queue of Infinite Size
Implement a bounded queue of infinite size.
Implement Thread Pool
Implement a thread pool using the previously made bounded queue. These methods were required to implement:
submit()execute()shutdown()shutdownNow()
Implement Linux `cp` Command
Given an interface with methods:
fopen(filePath)-> returnint fileIdfclose(fileId)read(fileId, offset)write(fileId, offset)
Implement a linux cp command using above interface methods only.
Optimize `cp` for Floppy to SSD Copy
Assume a scenario where we are copying from floppy disk and pasting into the SSDs, how we will optimise our cp command.
Preparation Tips
I was asked to prepare for the screening round where the topic would be on concurrency, as Rubrik interviewers focus on concurrency and multithreading. This implies a need for a strong foundation in these areas.