Salesforce | SMTS | May 2024 | Hyderabad | Reject
Summary
I interviewed for a SMTS role at Salesforce in May 2024 in Hyderabad. The interview process spanned multiple rounds, including a Hackerrank test, problem-solving, LLD, HLD, and a Hiring Manager round. Despite performing well in most rounds, I was ultimately rejected due to mixed feedback on my second LLD round, where I felt my use of Python might have been misaligned with the interviewer's preference for Java.
Full Experience
My journey with Salesforce began when a recruiter reached out via Instahyre for an SMTS role. I was asked to complete a Hackerrank test within two days.
Hackerrank Test:
This round featured a couple of questions that I would categorize as easy to medium LeetCode level. I encountered The Kth Factor of N and Implement Trie (Prefix Tree).
After clearing this round, I received an email scheduling two more rounds.
Problem Solving and LLD:
This round involved a problem that was described as a little extension to LeetCode's Two Sum questions. I was also asked to design a data structure to query a set of different data, optimizing for space and time complexity, which felt like a medium-level problem. Additionally, I had to create class diagrams for a Monopoly game and discuss best practices while defining an API endpoint.
LLD (Second Round):
In this round, I was given a design and coding question: implement a cart for an e-commerce website. The focus was on writing workable, easy-to-ship code while following proper design patterns. We had a detailed discussion about the reasoning behind my implementation choices.
Following these rounds, I again received a call from the recruiter confirming I had cleared and scheduling the third round for the very next day.
HLD:
This round focused on the High-Level Design (HLD) of a recommendation system. We had a healthy discussion around each aspect of the design steps.
The recruiter then informed me that they would like to proceed with the HM (Hiring Manager) round, which was scheduled a day later.
HM Round:
This was purely a managerial round. I was asked about my motivations for joining Salesforce, what I was expecting from the role, and standard behavioral questions concerning conflicts and challenges I had faced. This round felt like it went smoothly.
A few days later, I inquired about feedback and was informed of a mixed response from my second LLD round, resulting in a reject. I perceived that the interviewer was keen on a Java implementation, while I had used Python, leading to much of the LLD discussion revolving around static-typed paradigms instead of dynamic-typed ones. This experience made me feel the interview had a mixed outcome. My key takeaway was that while I performed well in other rounds, I need to concentrate more on LLD from a static-type perspective for future interviews.
Interview Questions (9)
Design class diagrams for a Monopoly game.
Discuss best practices for defining an API endpoint.
Implement a shopping cart for an e-commerce website. The solution should be workable, easy to ship, and follow proper design patterns. I also discussed the reasoning behind my implementation.
Design a High-Level Design (HLD) for a recommendation system. I had a healthy discussion around each aspect of the design steps.
Discuss my motivation for wanting to join Salesforce.
Share my expectations for the SMTS role.
Answer behavioral questions related to conflicts and challenges I have faced.