Salesforce Interview Experience | LMTS | April 2025 | Offer
Summary
I went through a full interview loop for an LMTS role at Salesforce, which included coding, low-level design, high-level design, and a hiring manager round, ultimately resulting in an offer rejection.
Full Experience
Posting my full interview loop for Salesforce. This one had a good mix of coding, design, and behavioral rounds. Hope this helps anyone preparing!
Online Assessment (75 mins - Hackerrank)
Problem 1:
Given an array of integers, for each index, return two strings indicating:
- If the current number has appeared before (in lower indices)
- If it appears after (in higher indices)
Problem 2:
After every update (turning a 0 to 1 in a binary array, input array for indicating which indexes to convert will be given), return the number of sweeps needed to sort the array into non-decreasing order.
DSA / Coding Round
- Problem 1: Find the K-th greatest element for every subarray ranging from size K to N.
- Problem 2: Reorder an array with both negative and positive numbers to place all negatives first, followed by positives — in-place.
This involved several dry runs and careful edge-case handling.
Low-Level Design (LLD) Round
Topic: Job Scheduler System
Covered both LLD + HLD aspects.
Focus was on write LLD code for job creation, persistence, dispatching, and execution flow.
System Design (HLD) Round
Topic: Migration strategy from Memcached to Redis
Key discussion points:
- Zero-downtime migration
- Cache consistency during switchover
- Fallback mechanisms and rollout strategies
- Discussion on managing the whole process and ownership
Hiring Manager Round (80 mins, in-house)
Coding:
Check if a string is a k-tolerant palindrome (can delete at most k characters to make it a palindrome).
HLD:
Design a Distributed Priority Queue for job processing with multiple consumers.
Behavioral:
Project deep dives and leadership principle-style questions focused on ownership, technical decision-making, and collaboration.
Final Thoughts
Salesforce interviews emphasize:
- Strong dry-run habits in coding rounds
- Production-grade thinking in design rounds
- Final rounds are now in-house.
Let me know if anyone wants prep suggestions. Good luck to everyone applying!
Verdict: Offer Rejected
Interview Questions (9)
Given an array of integers, for each index, return two strings indicating: If the current number has appeared before (in lower indices) and if it appears after (in higher indices).
After every update (turning a 0 to 1 in a binary array, input array for indicating which indexes to convert will be given), return the number of sweeps needed to sort the array into non-decreasing order.
Find the K-th greatest element for every subarray ranging from size K to N.
Reorder an array with both negative and positive numbers to place all negatives first, followed by positives — in-place.
Design a Job Scheduler System. Covered both LLD + HLD aspects. Focus was on writing LLD code for job creation, persistence, dispatching, and execution flow.
Design a migration strategy from Memcached to Redis. Key discussion points included: Zero-downtime migration, cache consistency during switchover, fallback mechanisms and rollout strategies, and managing the whole process and ownership.
Check if a string is a k-tolerant palindrome (can delete at most k characters to make it a palindrome).
Design a Distributed Priority Queue for job processing with multiple consumers.
Project deep dives and leadership principle-style questions focused on ownership, technical decision-making, and collaboration.