Real, anonymized candidate journeys from recent (2025β2026) Salesforce AMTS/MTS through LMTS/SMTS loops in India β round by round, including what was asked, how the candidate approached it, and the outcome.
One complete journey, start to finish
Round 1 β HackerRank Screening (75 min, proctored)
I applied through a referral in late August and got the HackerRank screening link within a week. It was 75 minutes, proctored, two problems. The first one needed a priority queue β I had to keep pulling the smallest item while new items kept arriving β so I implemented a small binary heap by hand with sift-up and sift-down and used it for the queries, testing it on the samples before moving on. The second problem looked like dynamic programming at first, but after writing out a few small cases on paper I noticed that sorting the input and doing a simple sweep gave the same answer. I wrote both versions, checked that they agreed on the samples, and submitted the sorted version because it was cleaner. I finished with about eight minutes to spare and spent it re-running the edge cases with an empty input and a single element. The recruiter called two days later to set up the DSA round.
Round 2 β DSA (Google Meet)
The DSA round was on Google Meet, one hour. The interviewer started with a Max Stack: push, pop, top, and get the maximum. I opened Excalidraw and drew two stacks side by side, the main one and one that kept the running maximum, and explained how they move together. He said fine, now make popMax work too. My first answer used a temporary buffer to dig out the max, and he asked what that cost. I said O(n) and he asked if I could do better, so I switched to a doubly linked list with a map from value to nodes so the max could be removed from the middle. Then he moved to a Frequency Stack β pop the most frequent element, ties broken by recency. I kept a count map plus one stack per frequency level and walked through pushing and popping on the diagram. He wanted the actual code, not just the idea, so I typed both classes out fully and ran them on his examples. It ended right on the hour.
Round 3 β LLD (Google Meet)
Two days later I had the LLD round, again on Google Meet. The problem was a connection pool that could hold somewhere between 1000 and 2000 connections. I began by asking what happens when the pool is empty β should a caller block or fail fast β and she said block, with a timeout. So I drew the states a connection could be in: free, blocked (in use), and closed. Then I wrote a ConnectionPool class with acquire and release methods, keeping free connections in a BlockingQueue so acquire would naturally wait. She asked how I would handle a connection that was held too long. I proposed a background thread that scans the in-use set and closes anything past its timeout, and I said out loud that the scan was O(n) and would become a problem at the top of the range. She asked what I would do instead and I mentioned ordering the in-use set by expiry time. We spent the last ten minutes on thread safety β which methods were synchronized and why.
Round 4 β HLD (in-person, whiteboard)
The HLD round was in person at the office, on a whiteboard. The prompt was a marketing campaign system β create a campaign, pick an audience, send messages across channels, and track results. I asked about scale and he said assume millions of recipients per campaign. I drew a campaign service, an audience service, a message dispatcher with a queue in front of the channel workers, and a reporting store fed by events. Then he started digging. What happens if the audience is built but the dispatcher fails halfway? I said every recipient gets a delivery record and the workers are idempotent, so a retry is safe. He asked about the campaign budget being spent across multiple services and how I would keep that consistent. My first answer was a distributed transaction, and he asked what happens when one participant is down. That pushed me toward a saga β each step has a compensating step, and the coordinator records progress. We went through the failure cases one by one on the board. It ran a little over the hour.
Round 5 β Hiring Manager (in-person, whiteboard, ~45+ min)
The hiring manager round was right after the HLD round, same room, same whiteboard. He asked me to draw the architecture of the system I currently work on, so I drew the services, the queues between them, and where the data lived. He asked why we had chosen a particular database and what I would change if I could start over, and I gave an honest answer about one decision we regretted. Then the conversation moved to people. He asked how I mentor newer engineers, and I told him about a junior I had paired with on their first on-call rotation and how I reviewed their design doc. He also asked how I handle a disagreement with a peer on design, and I gave an example where we ran a small experiment to settle it. It went past 45 minutes because he kept asking follow-ups. At the end he described the team and I asked about their on-call and release process. The offer came about a week later.
Key takeaway: Sketching the approach live (the candidate used Excalidraw) made the reasoning easier to follow for the interviewer; always propose the optimal solution since interviewers keep probing, and narrate time-complexity tradeoffs out loud rather than leaving them implicit.
More real interview journeys
The first round of each journey below is shown in full; the rest of each candidate's journey β every remaining round, verbatim β is part of the Placement-Ready PYQ Kit.
Round 1 β Online Assessment (HackerRank, 75 min)
A recruiter messaged me in the last week of March and the HackerRank link came two days later. It was a 75-minute proctored test, so I had to keep my camera on and stay in one tab the whole time. There were two problems. The first was about tracking how often values appeared in an array as queries came in; I used a hash map for counts and got it passing all cases in about 20 minutes. The second one was a binary array β only zeros and ones β that had to be sorted. I first wrote a plain two-pointer swap version, ran the samples, and then re-read the statement once more to make sure I had handled the all-zeros and all-ones cases. Both passed all the hidden tests. I submitted with around ten minutes left and the recruiter confirmed the next morning that I had cleared the screening and would move to the DSA round.
π 4 more rounds β continue this journey in the full kit
Round 1 β Online Coding Assessment
I applied on the careers page in July and got the online assessment link about ten days later. It was two coding problems with a fixed time limit, and I did it on a weekend morning so I would not be rushed. I read both problems fully before writing anything and started with the one that looked easier so I would have at least one clean submission. I wrote the solution, ran the sample tests, then added a couple of my own edge cases β an empty input and the largest allowed size β before submitting. The second one took longer because my first version timed out on the bigger hidden tests. I went back, worked out where the extra loop was, and replaced it with a single pass using a map. That version passed everything. I submitted with a few minutes left. The recruiter emailed the next week to say both problems were cleared and to schedule the DSA round.
π 3 more rounds β continue this journey in the full kit
Round 1 β Online Assessment (100 min)
I got the online assessment link in the first week of January, a few days after applying for the AMTS role in Bangalore. It was 100 minutes for three problems. The first one was about reducing a system's energy value using powers of two, and once I wrote out the binary form of a few numbers I saw it was really about counting set bits, so that went quickly. The second one had a list of logs that got updated using XOR; I kept a running XOR and handled the queries one by one, which passed everything. The third was a tree problem asking for the two endpoints of the tree's diameter. I did one BFS from any node to find the farthest node, then a second BFS from that node to find the other end. I had about twenty minutes left when all three were passing, so I re-read each statement once to check I had not missed a constraint. The technical interview invite came about a week later.
π 2 more rounds β continue this journey in the full kit

