I applied for Salesforce’s Associate Member of Technical Staff (AMTS) role through an opening on the Salesforce careers portal with a referral. Within a few days, I received the online assessment.
Role: Associate Member of Technical Staff
Hiring process: Resume Shortlisting + Online Assessment + 2 Technical Interviews + Hiring Manager Round
Online Assessment
The OA had 3 coding questions.
The first two were around the medium to medium-hard level, while the third was significantly harder and acted as a deciding factor. Most candidates I spoke to were able to make good progress on the first two questions, while the last one was where the assessment became more challenging.
I was able to pass all the test cases for all three questions.
A few days later, I received the interview invitation.
The email mentioned that the first round would be virtual, followed by two offline rounds for shortlisted candidates. The offline interviews were conducted at Salesforce offices in Bangalore or Hyderabad.
Round 1 — Technical Interview
The first round lasted around 45 minutes to an hour.
We started with a short introduction, after which the interviewer shared a HackerRank link with me.
Before coding, I was given a puzzle question, which I was able to solve.
The interview then moved to DSA. I was given two coding questions, each with around 15 test cases already included in the platform.
The questions were around the LeetCode-medium level, mainly involving arrays, strings and priority queues.
I had to not only solve the questions but also explain my approach, discuss the time and space complexity, and make sure the solution passed the test cases.
A few hours after the interview, I received the invite for the next round.
Round 2 — Technical Interview
The second round was conducted at the Salesforce Bangalore office and lasted for a little over an hour.
This round was much more resume and fundamentals focused.
The interviewer went through my technical background and asked questions around Java, including how Java differs from JavaScript and concepts related to threading and multithreading.
We also discussed projects and previous technical work I had mentioned on my resume. For example, since I had mentioned a log processing pipeline, I was asked what exactly a log processing pipeline meant, how I built it, and why certain technologies were used.
The discussion then moved to DBMS and indexing, followed by a detailed discussion on OOP. We talked about inheritance, different types of inheritance, its disadvantages, and situations where inheritance would or would not be a good design choice.
There was also a fairly detailed discussion around JavaScript including event listeners, the call stack, and hoisting.
Towards the end, I was given an array-based DSA problem. I did not have to code it; instead, I had to explain the solution on a whiteboard and arrive at the most optimal time and space complexity.
One interesting part of this interview was an AI-related discussion. The interviewer gave me a scenario around using tools such as Claude effectively for example, how I would improve productivity while working within token constraints, how I would write effective prompts, and what makes a good prompt.
The interview went on for more than an hour.
After the round, I waited in the interview area with the other candidates. Shortly afterwards, HR called me for the final round.
Round 3 — Engineering Manager
The final round was much shorter, around 30 minutes, and focused primarily on team fit and engineering mindset.
The interviewer was an Engineering Manager.
We discussed my previous experiences and projects, along with several practical scenarios. There were also technical discussions around my projects — why I made certain choices, what alternatives I considered, and how I handled edge cases.
One area we discussed in detail was scalability.
I was asked what scalability means, how I would design for it, how scalability can be maintained as a system grows, and what engineering practices help achieve it.
The round was less about solving a specific coding problem and more about understanding how I think about engineering decisions and real-world systems.