Phone Screen Question : https://leetcode.com/discuss/interview-question/1572720/rubrik-phone-screen-majority-bandwidth-from-a-network/1179972
Rubrik has 4 rounds of interview in FInal Onsite:
Algorithm Coding
Given S (start coordinate), E (End coordinate) and a matrix with either 0 (busy slot) and 1 (empty slot), give the shortest distance between S & E
System Coding
Design and Implement a Key-Value Snapshot Mechanism. Here is the solution I came up with
class Solution {
public static void main(String[] args) {
ArrayList<String> strings = new ArrayList<String>();
strings.add("Hello, World!");
strings.add("Welcome to CoderPad.");
strings.add("This pad is running Java " + Runtime.version().feature());
for (String string : strings) {
System.out.println(string);
}
}
}
class Snapshot {
Map<String, String> centralizedMap;
Map<String, List<Snapshot>> snapMap;
int snapId = 0;
public Snapshot() {
centralizedMap = new HashMap<>();
snapMap = new HashMap<>();
}
public void put(string key, string value) {
centralizedMap.put(key, value);
}
public void delete(string key){
centralizedMap.remove(key);
}
public String get(string key, Snapshot snaps){
if(snapMap.containsKey(key)) {
for(Snapshot snap : snamMap.get(key)) {
if(snap.snapId == snaps.snapId) {
return snap.value;
}
}
return "SnapId for this ley does not exist";
} else {
return "Key Does Not Exists";
}
}
public Snapshot takeSnapshot(){
for(String k : centralizedMap.keySet()) {
snapMap.putIfAbsent(k, new ArrayList<>());
snapMap.get(k).add(new SnapShot(centralizedMap.get(k), snapId));
}
snapId++;
}
public void deleteSnapshot(Snapshot snap){
}
}
class Snapshot {
int snapId;
String value;
public Snapshot(String value, int snapId) {
this.value = value;
this.snapId = snapId;
}
}System Design
Design Unique ID generation with 10M req/sec
Culture Round
They directly ask questions out of their values so not that complicated.
I did not get the offer although I felt the interview went well but that happens.
Dissapointing thing is that I did not get a proper rejection call/email from the recuiter but what I got was am auto-generated from a "doNot-reply" email which looks so terrible after 4-5 weeks of constant communication with the company. Taking/Giving rejections are part of interview process but professionalism is something I look out for which was missing in this case.
I hope this review could help somebody so all the best.