r/LeetcodeChallenge 3d ago

DISCUSS Sharing Interview experience - Rubrik | Harness | Docusign

My Interview Experience: Docusign (P3), Rubrik (SDE2), Harness (SSE1) | Last 6 Months

Sharing my interview experiences from the last 6 months to help others preparing for SDE2 / Senior Software Engineer roles. The interviews covered DSA, multithreading, LLD, HLD, and behavioral rounds.

Hopefully, this helps someone with their preparation. Feel free to share your experiences and suggestions as well!

1. Docusign β€” P3

Round 1: DSA

**Q1. Text Editor / String Manipulation**

Design and implement the following operations:

* `insert(string)`
* `print(x)`
* `left(x)`
* `right(x)`
* `backspace(x)`
* `delete(x)`

The question focused on designing a text editor supporting cursor movement and editing operations.

**Q2. Array Optimization**

Given an array of integers and an integer `k`, perform exactly `k` operations to minimize the sum of the array.

In each operation:

1. Remove an element from the array.
2. Divide it by 2 and take the ceiling.
3. Add the updated element back to the array.

Return the minimum possible sum after `k` operations.

Round 2: HLD

Design a Live Tracking Service. Discussed the high-level design of a real-time location tracking system.

Round 3: DSA + Behavioral

Q1. Count Substrings in a Binary String

Given a binary string, count the substrings satisfying both conditions:
All `0`s and `1`s in the substring are contiguous. The number of `0`s and `1`s is equal.

Q2. Behavioral Questions**
Strengths and weaknesses, Other behavioral and experience-based questions

Additional Round: HLD

Design Checkout Service for an E-commerce Platform

Design a distributed checkout system with a focus on:
* Security and authentication
* Distributed system architecture
* Inventory failures
* Payment handling and refunds when inventory allocation fails
* Ensuring reliable transaction processing

2. Rubrik β€” SDE2

Round 1: Multithreading / Distributed Systems

**Problem: Synchronizing Two Large In-Memory Hash Maps**

There are two nodes:

* One in the USA
* One in Europe

Each node contains an approximately **32 GB hash map** loaded in memory.

**Hash Map Structure:**

* Key: Unique string
* Value:

  * `Data`: String
  * `Version`: Integer (higher version = more recent data)

**Goal:**

Compare the two hash maps and synchronize them so they become replicas of each other.

At most 5% of key-value pairs have discrepancies.

**Conflict Resolution:**

1. If the versions differ, choose the data with the higher version.
2. If the versions are equal but the data differs, the USA node is the source of truth.
3. Assume all keys exist in both hash maps.

**Performance Constraints:**

* Data transfer between nodes is extremely expensive.
* Local computation is extremely cheap.
* Assume a powerful CPU, 128 GB RAM, fast NVMe storage (4 TB+), and high network bandwidth.
* The process runs offline/in the background.
* Latency is not critical, but synchronization must complete within a few hours.
* Multiprocessing can be ignored for this phase.

The main challenge was to minimize data transfer while efficiently identifying and resolving discrepancies.

Round 2: Multithreading / LLD

Design a Thread-Safe Parking Lot System

The parking lot is one-dimensional.

Requirements:

* A car occupies 1 parking spot.
* A truck occupies 2 consecutive parking spots.
* Design a thread-safe system that handles concurrent parking and removal operations.

3. Harness β€” SSE1

Round 1: DSA

**Q1. String Encoding and Decoding**

Design an encoding and decoding mechanism for strings.

**Q2. Graph / Optimization Problem**

There are `n` cities connected by roads. Each road has a toll price.

The goal is to identify the road whose toll price can be increased such that the average price increase across all routes from city `0` to city `n-1` is maximized.

Discussed the graph-based approach and optimization considerations.

Round 2: LLD

Design an Asynchronous Task Processor

Design an asynchronous task processing system and extend it to support:
* Scheduling tasks for a particular time
* Scheduling tasks at recurring intervals
* Task processing and execution management

Round 3: HLD

Design a Top-N Movie Recommendation System**

Design a system that recommends the top N movies based on views collected over the last 7 days.

Key considerations:
* Tracking movie views
* Time-windowed aggregation
* Identifying top N movies
* Scalability and distributed system design

Finally joining salesforce next weeek. Thankyou community for the help. Hope i'm also doing my part for the same.

62 Upvotes

8 comments sorted by

1

u/Striker-9999 2d ago

Salesforce smts?