Salesforce SMTS Interview
Summary
I recently interviewed for the SMTS role at Salesforce, where I encountered two algorithmic challenges. Despite formulating approaches for both problems, I was unable to complete them within the allotted time, ultimately not receiving an offer.
Full Experience
I had my first round interview at Salesforce for the SMTS position. After a brief one-minute introduction, the interviewer immediately presented me with two coding questions via a Hackerrank link. The first question was identical to Remove All Adjacent Duplicates in String II. I initially brainstormed a brute-force approach but, after about 10-15 minutes, I pivoted to a more efficient stack-based solution. However, since nearly 30 minutes had passed, the interviewer decided to move on. The second question was conceptually the same as Binary Tree Maximum Path Sum, but it came with a significant twist: the input was provided as List<Integer> parent and List<Integer> values. This meant I had to either construct the entire tree from these lists myself or develop an approach that could work directly with this input format. I managed to devise the core approach for the problem but found the task of building the tree from scratch within the tight time constraints to be quite challenging. In the end, I wasn't able to fully solve either problem, though I was able to articulate my thought processes and proposed solutions for both.
Interview Questions (2)
The problem given was exactly the same as Remove All Adjacent Duplicates in String II. The task involves repeatedly removing sequences of k adjacent and identical characters from a string until no such sequences remain, and then returning the final string.
This question was fundamentally the same as Binary Tree Maximum Path Sum, which asks to find the maximum path sum in a binary tree. However, the inputs were given as List<Integer> parent and List<Integer> values, rather than a pre-built tree. This required me to first construct the binary tree from these lists or adapt my solution to work directly with this list-based representation before computing the maximum path sum.