38 questions · from 15 interviews

Rubrik interview questions

Every question candidates reported from their Rubrik interviews, most frequently asked first. Each links to the write-up it came from, so you can see the round and how it went.

Rubrik coding and DSA questions

  1. 01

    Bounded Thread-Safe Queue

    Implement a bounded thread safe queue.

    From Rubrik interview experience

  2. 02

    Thread Pool Task Executor

    Implement a thread pool task executor. Follow‑up considerations include handling exceptions in tasks, implementing timeouts, and reclaiming threads.

    From Rubrik interview experience

  3. 03

    Reader‑Writer Lock

    Implement a reader writer lock with various cases and appropriate handling.

    From Rubrik interview experience

  4. 04

    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.

    From Rubrik interview experience

  5. 05

    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)

    From Rubrik interview experience

  6. 06

    Minimum swaps to make binary string a palindrome

    Given a binary string s consisting of only '0' and '1', find the minimum number of swaps (swap any two characters, not necessarily adjacent) required to make the string a palindrome. If it is impossible, return -1. Example: - Input: s = "101000" - Output: 1 -…

    From Minimum number of swaps to make a binary string a palindrome (Rubrik OA)

  7. 07

    File Read/Write Operations with Offset and Multithreading

    Implement file read and write operations using a specific offset. The follow‑up question explored how to handle these operations safely in a multithreaded environment.

    From Rubrik | G6 | Bangalore | Rejected

  8. 08

    Implement Bounded Queue of Infinite Size

    Implement a bounded queue of infinite size.

    From Rubrik | Software engineer 2 | Bengaluru | Rejected

  9. 09

    Design Two Queues Using Fixed Size Array

    Design two queues using an array of fixed size N. The interviewer said you can use an external data structure but the elements must be in the queue. The problem here is that once the elements in the queue gets popped, it creates empty space which must be then…

    From Rubrik interview | Online

  10. 10

    Graph Problem with Topological Sort and Thread Safety

    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.

    From Rubrik G5 | Interview Experience

  11. 11

    Range Module (LC-715)

    The problem was related to range modification and range updates, similar to LeetCode 715, Range Module.

    Hard · From G5 Interview Experience at Rubrik (2025)

  12. 12

    Greedy Interval Problem with Line Sweep

    This was a medium to hard LeetCode type problem, a greedy problem requiring constructive logic building. I solved it using multiset, basic interval merge logic combined with line sweep.

    Hard · From G5 Interview Experience at Rubrik (2025)

  13. 13

    Minimum Absolute Difference in Last K Stream Elements

    You will receive a stream of data. For each item, return the minimum absolute difference between any two elements among the last K elements in the stream.

    From SWE (L4) Interview Experience at Rubrik (2025)

  14. 14

    Thread-Safe Job Scheduler with Dependencies and Error Handling

    There are some tasks which depend on each other. Example: b depends on completion of a, c depends on completion of a and b. There is a function you are provided which you can use to get this information: getDependentTasks(a) - returns b,…

    Hard · From Rubrik | G6 | Bangalore | 2025 | Reject

  15. 15

    Parallel File Copy using pread and pwrite

    You are given 2 functions: pread(buffer, number of characters to be read, file name) and pwrite(buffer, number of characters to write, file name). You have to use these functions to write code which will read from a file and write it to another file. How…

    Medium · From Rubrik | G6 | Bangalore | 2025 | Reject

  16. 16
  17. 17

    Find Rank of Current Person in a Stream

    You are given a stream of person's strength(integers) you need to find out rank of current person in the stream(moving from left to right). We can assume stream can be stored in RAM. Eg. stream: [5, 4, 6, 1] Output: [1, 2, 1, 4] At t=0 only 5 is there so its…

    From Rubrik Interview Experience | Software Engineer | 2.5 yrs | Reject

  18. 18

    Implement Fixed-Size FIFO Queue with Concurrency and Shared Buffer

    Implement a FIFO Queue with the following methods: put(int) : Adds an item into the queue. get() int : Removes and returns an item from the queue in FIFO order. Requirements: Use a fixed-sized memory buffer (e.g., []int ). No dynamic memory allocation (not…

    Hard · From Rubrik | Systems Coding | Senior Software Engineer

Rubrik system design questions

  1. 01

    Design Backup System with Dependency Graph

    Design a backup system with a dependency graph where each backup has an end time and a retention period. Implement the following APIs: - adddependency: define a dependency between backups. - findrecoverychain: retrieve a chain of backups needed for recovery.…

    From Rubrik Interview Experience - G6

  2. 02

    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.

    From Rubrik interview experience

  3. 03

    Config Store for Feature Flags

    Design a configuration store that holds service config values for A/B testing. The system must support 50,000 reads per second and 5,000 writes per day. Values are boolean (feature enabled/disabled) and should also support percentage‑based rollout of features…

    From Rubrik | Senior Engineering Manager | March 2026 | Rejected

  4. 04

    Frequent Word Counter across GitHub Repositories

    Given a master node and a pool of unreliable, crash‑prone worker nodes (no managed services allowed, but you may install software such as an embeddable DB), design a system that counts the most frequent English words across all GitHub repositories.

    From Rubrik | Senior Engineering Manager | March 2026 | Rejected

  5. 05

    Concurrent Data Structure Design with Strict Concurrency Constraints

    Design a data structure that supports: - Multiple search operations concurrently. - Only one insert at a time (searches remain allowed). - Only one delete at a time, which must block both inserts and searches. Hint: Requires deep knowledge of Read‑Write locks…

    From Rubrik | G6 | Bangalore | Rejected

  6. 06

    Implement Thread Pool

    Implement a thread pool using the previously made bounded queue. These methods were required to implement: 1. submit() 2. execute() 3. shutdown() 4. shutdownNow()

    From Rubrik | Software engineer 2 | Bengaluru | Rejected

  7. 07

    Implement Linux `cp` Command

    Given an interface with methods: 1. fopen(filePath) - return int fileId 2. fclose(fileId) 3. read(fileId, offset) 4. write(fileId, offset) Implement a linux cp command using above interface methods only.

    From Rubrik | Software engineer 2 | Bengaluru | Rejected

  8. 08

    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.

    From Rubrik | Software engineer 2 | Bengaluru | Rejected

  9. 09

    Concurrent Singly-Linked List with Searchers, Inserters, Deleters

    Three kinds of threads share access to a singly-linked list: searchers, inserters and deleters. - Searchers merely examine the list; hence they can execute concurrently with each other. - Inserters add new items to the end of the list; insertions must be…

    Hard · From Rubrik | SDE-2 Interview | System Design Round | Rejected (Bad Interview Experience)

  10. 10

    Design and Implement a Linux File System

    Design and implement a Linux file system. This was an open-ended problem where I had to ask a lot of clarifying questions. I managed to fully implement 3 parts and partially complete the 4th part during the interview.

    Hard · From Rubrik New Grad 2025

  11. 11

    Debugging Producer-Consumer Problem

    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.

    From Rubrik G5 | Interview Experience

  12. 12

    Design a Logical Memory Unit (LLD + Concurrency)

    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…

    From Rubrik G5 | Interview Experience

  13. 13

    Design BookMyShow-like Ticket Booking System with Concurrency

    The round tested multithreading and concurrency. The question was a system coding problem, similar to designing a ticket booking system like BookMyShow, focusing on handling concurrent operations.

    From G5 Interview Experience at Rubrik (2025)

  14. 14

    Concurrent Job Scheduler with Dependencies

    Design a job scheduler that runs all available jobs in an optimized manner, considering job dependencies. You can assume the existence of a function getnextjobs(finishedjobs) that returns all jobs whose dependencies are fully satisfied based on the currently…

    From SWE (L4) Interview Experience at Rubrik (2025)

  15. 15

    Concurrent Playground Access Management

    There is a playground that can be accessed by only one team at a time, with a maximum of 10 players allowed concurrently. Multiple players from different teams may attempt to access the playground simultaneously. How would you design the system to assign…

    From SWE (L4) Interview Experience at Rubrik (2025)

  16. 16

    LinkedIn Connection Degree System Design

    Design a system similar to LinkedIn Connections that can answer the query: "How many levels (or degrees) of connection exist between two users?" For example, direct connections are 1st-degree, friends of friends are 2nd-degree, and so on. The system should…

    From SWE (L4) Interview Experience at Rubrik (2025)

  17. 17

    Worker Node Task Management System

    There are N worker nodes, and we need to write apis: runTask() - Runs a particular task on a node AddTask(nodeid, taskid) - Adds a task to a particular node nodeid rebalanceTask() - Moves tasks from one node to another if some node has lots of cpu intensive…

    From Rubrik Interview Experience | Software Engineer | 2.5 yrs | Reject

  18. 18

    Design a Scalable and Fault-Tolerant Data Collection System

    Design a scalable and fault-tolerant data collection system that can collect logs and data from various sources (eg, application servers, tailing a file etc.) and route them to different destinations (e.g., Elasticsearch, Kafka, S3) for further processing and…

    From Rubrik Interview Experience | Software Engineer | 2.5 yrs | Reject

Rubrik behavioural and HR questions

  1. 01

    Behavioral and Project Deep Dive

    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…

    From Rubrik G5 | Interview Experience

Rubrik other questions

  1. 01

    Debug Multithreaded Code for Deadlock

    I was given a multithreading/concurrency-based code and asked to find and fix all bugs, then provide a proper running code within 50 minutes. I identified the main bug as a deadlock and attempted to fix it. Unfortunately, after my fix, the code failed to…

    From Rubrik New Grad 2025

Rubrik interview questions FAQ

What questions are asked in Rubrik interviews?

Candidates reported 38 distinct questions across 15 Rubrik interviews. 18 coding and DSA questions, 18 system design questions, 1 behavioural and HR questions, 1 other questions.

How difficult are Rubrik interview questions?

Of the questions candidates rated, 0% were easy, 14% medium and 86% hard.