Rubrik || Virtual Onsite || Palo Alto
Anonymous User
5740

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:

  1. 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

  2. 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;
  }
}
  1. System Design
    Design Unique ID generation with 10M req/sec

  2. 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.

Comments (3)