Rubrik | Software Engineer | Palo Alto | 2024

Anonymous User
1041

YoE: 4

Phone Screen: A variant of this problem - https://leetcode.com/problems/stamping-the-grid/description/. Couldn't come up with the optimal solution in time. Gave a slightly optimized brute force solution with O(MNXY) and towards the end was able to come up with the concept of prefix sums which would have resulted in O(MN) but I didn't have time to implement this.

I think since I was able to explain the approach well I got selected to the final rounds of interview

Coding Language: Python

Onsite # 1 (System Coding)

Implement a stack using linked list; make it thread-safe. I was able to do this fairly easy and you need to write executable code. Explained some concepts behind concurrency primitives. Later interviewer asked to implement CAS approach - this I couldn't solve it. This was asked in the last 10 mins and I had only theoretical knowledge of how it worked so couldn't give a full working solution

Onsite # 2 (Algorithms)

This was a trie question. Not sure if there's a similar problem on leetcode. Each query is of the form "letters""number" . You are a given a list of words. The answer to each query is true or false, which has prefix from the query and has exactly the suffix number of characters following it. List of words = ['ball','apple'] query = ['ba2','app3'] . The result would be [True, False]. I was able to come up with a solution for this. Initially I thought of doing something like this https://leetcode.com/problems/design-add-and-search-words-data-structure/description/. But then the TC would not be linear for the suffix case. Later I came up with an optimal solution by tracking the remaining number of letters in each Trie Node and this worked. All the testcases passed.

Onsite #3 (System Coding)

You are provided 4 functions that operate on blocks of data. You need to write their byte based equivalents and not expose the APIs. The given APIs are block_size(), block_read(), block_write() and block_seek(). Now you need to write seek(location) which seeks to a specific byte location, read(len) read len bytes, and write(buf) which writes len bytes. This was an interesting problem and I had to discuss with the interviewer to understand all the intricacies involved and was able to complete the code as well and the interviewer seemed convinced. Executing this code was not neccessary.

Onsite #4 (Behavioral)

This was with the hiring manager and standard behavioral interview. Prep from amazon LP should help here.

Result - [Reject] After a week of no response, I followed up with the recruiter, and then they informed that they decided to proceed with another candidate. The reason given was that I fell short in the technical rounds and no further specifics can be provided.

Comments (0)