Salesforce MTS Interview Experience | India | August 2026

Sharing my Salesforce interview experience even though I was not selected, since I found previous interview experiences helpful while preparing. Hopefully this helps someone preparing for a similar hiring drive.

Role: MTS
Hiring Drive: AMTS / MTS / SMTS / LMTS
Experience: ~3 years
Process: OA → Virtual Interview → 3 Interview Rounds
Final Result: Rejected


Online Assessment

A recruiter approached me through LinkedIn. I applied and received the OA.

There were 2 DSA questions.

1. Maximum requests within a window

Given an array of request timestamps and a window size, find the maximum number of requests that can be allowed within any window.

For example:

requestTime = [1, 3, 4, 5, 7]
windowSize = 4

For a window starting at 1, requests with timestamps < 5 are included, so 1, 3, 4 → answer 3.

2. Splitting an array into partitions

Given an array and a required number of partitions, split the array into the required number of non-empty subarrays.

For each split, the cost is determined using the values at the split indices(start & end). We had to find the maximum and minimum possible cost.

For example :

array = [1, 3, 5, 10], numPartitions = 2
cost for [1, 3] = 1+3 = 4
cost for [5, 10] = 5+10 = 15  
Total cost = 19

It was a greedy problem. I solved them both.

After ~2 weeks, I received the virtual interview. They asked about the two OA questions and a Merge Intervals problem(Leetcode 56).


Round 1: DSA

Given start time, end time and profit arrays for tasks. Select non-overlapping tasks to maximize total profit(LC 1235).

Initially considered greedy, but realized it doesn't work. Interviewer pointed me toward DP.

I explained recursion → top-down DP with memoization and coded it.

Then optimized it using bottom-up DP + binary search for the next compatible interval.

Initial: O(n²)
Optimized: O(n log n)

Verdict: Hire


Round 2: DSA + LLD

DSA:

Given task dependencies such as:

dependencies = [['a', 'b'], ['c', 'b']]

Given queries, determine whether one task is a direct/indirect dependency of another.

I used DFS and precomputed the dependency set for each character to avoid repeating DFS for every query.

Time: O(26 * N)
Space: O(26 * N)

LLD(low level Design):

Implement LUDO

I was told by HR that MTS wouldn't have LLD, so I wasn't prepared for this part.

Had to design the classes/UML for a Ludo game and explain:

Board representation
Player
Token
Dice
Movement

Initially represented the board as a 2D structure, but it became difficult to represent the actual movement path. Changed it to a list of cells with position/path information.

Had to modify the design a few times before arriving at a satisfactory solution.

Takeaway: In LLD, understand the complete game/problem flow and identify dependencies before starting the class design. Otherwise, it's messy to keep redesigning classes during the interview.

Verdict: Hire


Round 3: Hiring Manager

No major technical questions. Mainly resume and project discussion.

This round went poorly for me. I had used an older version of my resume and wasn't sufficiently prepared to explain some of the things on it in depth.

The interviews had also gone quite long by this point, and I was mentally drained, which affected my answers.

Verdict: No Hire


Final Result: Rejected.

I called HR after 4 days and received the feedback:

Round 1: Hire
Round 2: Hire
Round 3: No Hire

HR mentioned that a stronger verdict in the first two rounds would have resulted in another Hiring Manager round.

Key takeaways:

  1. Don't assume the interview format based only on the initial HR information. Prepare LLD for MTS as well.
  2. Know everything on your resume and be ready for deep questions.
  3. For LLD, understand dependencies and interactions before locking down classes.
  4. Interview stamina matters when multiple rounds happen back-to-back.

Hope this helps someone preparing for Salesforce.

Comments (4)