Salesforce AMTS Interview Experience | India | Pool Campus Hiring
Summary
I went through a Salesforce AMTS interview process that included a HackerRank online assessment, two technical rounds, and an onsite hiring manager round, and I was selected.
Full Experience
Salesforce AMTS Interview Experience | India | Pool Campus Hiring
Sharing my Salesforce AMTS interview experience in case it helps someone preparing for similar interviews.
Role: Associate Member of Technical Staff (AMTS) Hiring: Pool Campus Hiring Interview Process: HackerRank OA - 2 Technical Rounds - Hiring Manager Round Final Verdict: Selected Location: HYD
1. Online Assessment - HackerRank
I initially received an interest form from HR as part of a pool campus hiring process.
After that, I received a HackerRank OA.
- Duration: 90 minutes
- Questions: 3 coding problems
- Difficulty: Relatively easy compared to some of the previous Salesforce OAs I had seen
I was able to complete the assessment successfully.
After around a week, I received an email from HR regarding the interview process.
There were 2 technical rounds (virtual) followed by an onsite Hiring Manager round.
2. Technical Round 1 - DSA
The interview started with introductions from both sides. We briefly discussed my internship and then moved directly into DSA.
Questions asked:
- Kth Largest Element in an Array
- Rotting Oranges
- Best Time to Buy and Sell Stock - DP version
The first two questions went relatively smoothly.
For the third question, I initially got stuck while moving from the basic version of the problem to the DP version. The interviewer was very supportive and gave me a few hints to help me reach the correct approach.
I was eventually able to solve all three questions and explain the approaches.
The interview also went around 10 minutes beyond the scheduled time, as we spent some additional time discussing the third problem.
Verdict: Hire
3. Technical Round 2 - OOP / LLD
The second technical round started similarly with introductions and a discussion around my previous projects and the technologies I had worked with.
The interviewer then gave me an implementation-based design problem.
Question 1: Implement an LRU Cache
I was asked to implement an LRU Cache from scratch, with an emphasis on writing production-ready code using OOP concepts.
We discussed things like:
- Class design
- Separation of responsibilities
- Data structures
- Time complexity
- Handling cache operations
- Writing maintainable/production-ready code
After completing the LRU implementation, the interviewer gave a follow-up:
Question 2: Implement LFU Cache
I had to extend the discussion to an LFU Cache, again focusing on OOP/design and implementation.
I was able to complete the working implementation by the end of the round, and the interviewer seemed satisfied with the solution.
We then had some time for me to ask questions about the team and the role.
Verdict: Strong Hire
4. Hiring Manager Round - Onsite
About a week later, HR reached out regarding the Hiring Manager round, which was conducted onsite.
This round was quite different from the technical rounds.
The HM went through almost every line of my resume and asked questions around:
- Why I chose a particular technology
- Why I made certain implementation/design decisions
- Why I selected a particular stack
- What problems I was trying to solve
- Trade-offs behind my technical decisions
- Details of my projects and internship
The main focus was not just on what I built, but on why I made those decisions.
We also discussed some HLD/system design concepts, followed by behavioral questions.
Overall, I felt the interviewer was trying to understand my problem-solving ability, decision-making, ownership, and thought process, rather than simply checking whether I knew certain technologies.
5. Final Result
Around 3 days after the HM round, I received a call from HR informing me that I had been selected.
I received the offer letter the next day.
Overall, it was a really positive interview experience. All the interviewers were supportive, and even when I got stuck, they focused on guiding me toward the solution rather than trying to put me under pressure.
Note: I got to know the feedback/verdict for each interview round only after joining Salesforce. My team later showed me the interview feedback.
Interview Questions (5)
Kth Largest Element in an Array
Given an unsorted integer array, find the kth largest element in the array.
Rotting Oranges
Given a grid of integers where each cell can be empty, fresh orange, or rotten orange, determine the minimum number of minutes that must elapse until no cell has a fresh orange. Each minute, any fresh orange that is adjacent to a rotten orange becomes rotten.
Best Time to Buy and Sell Stock - DP version
Given an array where the i-th element is the price of a given stock on day i, find the maximum profit you can achieve. You may complete as many transactions as you like (i.e., buy one and sell one share multiple times) but with an additional constraint such as transaction fee or cooldown, requiring a dynamic programming approach.
Implement LRU Cache
Design and implement a Least Recently Used (LRU) cache with O(1) time complexity for get and put operations. The cache should support setting a capacity, retrieving a value by key, and inserting or updating a key-value pair.
Implement LFU Cache
Design and implement a Least Frequently Used (LFU) cache that supports get and put operations in O(1) time. The cache should evict the least frequently used key when capacity is exceeded, and break ties using the least recently used policy.