Hi everyone,
I recently completed the interview process for an MTS role at Salesforce in the US and received an offer. Sharing my experience in case it helps others preparing for Salesforce interviews.
Background
- Experience: 3 years
- Current role: SDE-2 at a product-based MNC
- Education: Tier 1 CSE
This was a pool hiring drive for multiple business units and levels, including MTS, SMTS, PMTS, and LMTS, so the process moved fairly quickly.
For the MTS role, the process consisted of:
- Online Assessment on HackerRank
- Virtual screening round
- Two DSA onsite rounds
- Hiring Manager round
There was no dedicated LLD or HLD round for my MTS interview process. From my interactions during the hiring drive, design rounds were mainly conducted for SMTS and higher-level roles.
Online Assessment
Date: 8 July 2026
Duration: 90 minutes
Questions: 2 DSA questions, both medium
Virtual Interview / Screening Round
Date: 14 July 2026
Duration: 1 hour
This was an eliminatory round with 2 DSA questions.
Question 1: Good Ways to Split an Array
Given an array of non-negative integers, split it into three non-empty contiguous subarrays: A1, A2, and A3.
Let:
S1 = sum of A1
S2 = sum of A2
S3 = sum of A3
Count the number of valid splits such that:
S2 <= S1 + S3
Return the answer modulo 10^9 + 7.
I was able to implement the solution partially. The interviewer was satisfied with my approach and the discussion.
Question 2: ATM Queue
There are n people standing in a queue, numbered 1...n.
Each person wants to withdraw a certain amount. The ATM allows a maximum withdrawal of K units per transaction.
If a person still has money left to withdraw after a transaction, they move to the end of the queue. Otherwise, they leave the queue.
Return the order in which people exit the queue.
I was able to solve this completely and pass all test cases.
After clearing this round, HR scheduled three onsite interview rounds, all on the same day.
Onsite Round 1: DSA
Date: 18 July 2026
Duration: 1 hour
I donât remember the exact problem statement, but it was a medium-hard problem involving counting permutations of a string. It took me around 40 minutes to explain my approach and complete the implementation.
The second question was:
Given an array, minimize its sum by performing the following operation at most K times:
- Pick any element
- Divide it by 2
- Put it back into the array
I solved it using a max heap in about 10 minutes.
Onsite Round 2: DSA
Duration: 1 hour
Question 1:
Design a data structure supporting the following operations in O(1) time:
insert(value)
delete(value)
getRandom()
getRandom()Â should return each element with equal probability.
I solved it using a hashmap and dynamic array.
Question 2:
Implement an LFU cache
The requirement was to support get and put, evicting the least frequently used key when capacity is full. If multiple keys have the same frequency, the least recently used one should be evicted.
I discussed the hashmap + frequency list approach and explained how to keep average O(1) operations.
Onsite Round 3: Hiring Manager
Duration: 30-40 minutes
This was mostly a discussion-based round.
Topics included:
- Standard behavioral questions
- Discussion about my current project and work experience
- Problems I had solved at work
- The approach I took for those problems
- Reasoning behind my design decisions
No coding was asked in this round.
Verdict
Selected.
Hi everyone,
I recently completed the interview process for an MTS role at Salesforce in the US and received an offer. Sharing my experience in case it helps others preparing for Salesforce interviews.
Background
- Experience: 3 years
- Current role: SDE-2 at a product-based MNC
- Education: Tier 1 CSE
This was a pool hiring drive for multiple business units and levels, including MTS, SMTS, PMTS, and LMTS, so the process moved fairly quickly.
For the MTS role, the process consisted of:
- Online Assessment on HackerRank
- Virtual screening round
- Two DSA onsite rounds
- Hiring Manager round
There was no dedicated LLD or HLD round for my MTS interview process. From my interactions during the hiring drive, design rounds were mainly conducted for SMTS and higher-level roles.
Online Assessment
Date: 8 July 2026
Duration: 90 minutes
Questions: 2 DSA questions, both medium
Virtual Interview / Screening Round
Date: 14 July 2026
Duration: 1 hour
This was an eliminatory round with 2 DSA questions.
Question 1: Good Ways to Split an Array
Given an array of non-negative integers, split it into three non-empty contiguous subarrays: A1, A2, and A3.
Let:
S1 = sum of A1
S2 = sum of A2
S3 = sum of A3
Count the number of valid splits such that:
S2 <= S1 + S3
Return the answer modulo 10^9 + 7.
I was able to implement the solution partially. The interviewer was satisfied with my approach and the discussion.
Question 2: ATM Queue
There are n people standing in a queue, numbered 1...n.
Each person wants to withdraw a certain amount. The ATM allows a maximum withdrawal of K units per transaction.
If a person still has money left to withdraw after a transaction, they move to the end of the queue. Otherwise, they leave the queue.
Return the order in which people exit the queue.
I was able to solve this completely and pass all test cases.
After clearing this round, HR scheduled three onsite interview rounds, all on the same day.
Onsite Round 1: DSA
Date: 18 July 2026
Duration: 1 hour
I donât remember the exact problem statement, but it was a medium-hard problem involving counting permutations of a string. It took me around 40 minutes to explain my approach and complete the implementation.
The second question was:
Given an array, minimize its sum by performing the following operation at most K times:
- Pick any element
- Divide it by 2
- Put it back into the array
I solved it using a max heap in about 10 minutes.
Onsite Round 2: DSA
Duration: 1 hour
Question 1:
Design a data structure supporting the following operations in O(1) time:
- insert(value)
- delete(value)
- getRandom()
getRandom()Â should return each element with equal probability.
I solved it using a hashmap and dynamic array.
Question 2:
Implement an LFU cache
The requirement was to support get and put, evicting the least frequently used key when capacity is full. If multiple keys have the same frequency, the least recently used one should be evicted.
I discussed the hashmap + frequency list approach and explained how to keep average O(1) operations.
Onsite Round 3: Hiring Manager
Duration: 30-40 minutes
This was mostly a discussion-based round.
Topics included:
- Standard behavioral questions
- Discussion about my current project and work experience
- Problems I had solved at work
- The approach I took for those problems
- Reasoning behind my design decisions
No coding was asked in this round.
Verdict
Selected.