Interview Experience - 104 - Salesforce | Senior SWE | Senior MTS
Summary
📌 Job Role: Software Development Engineer
🔢 Number of Rounds: 6
📜 Offer Status: Offer
📍 Location: Not disclosed
👤 Candidate Name: Not disclosing due to signed NDA
Interview Process
The interview process at Salesforce started with a phone screen, followed by an onsite loop consisting of five rounds. Each round assessed a different skillset — from core data structures and algorithms to object-oriented design and front-end problem-solving. The process concluded with a team match phase, post which the offer details would be shared.
With 10 years of industry experience, I applied for a Senior Member of Technical Staff (SMTS) role at Salesforce. The team handled the communication promptly, and the scheduling was done smoothly. Each round was 45–60 minutes long.
Preparation Guide
My preparation approach was straightforward:
"Hope for the best and prepare for the worst."
Given my experience, I focused on brushing up core concepts across data structures (especially trees and arrays), object-oriented system design, and front-end basics. Platforms like LeetCode and reviewing past design questions played a crucial role. I also prepared for behavioral questions using the STAR method, which proved useful across multiple rounds.
Interview Rounds
## Round 1: Phone Screen
Duration: 45 minutes
Difficulty Level: Medium
Experience:
The phone screen consisted of a coding problem similar to Merge Intervals. After a brief introduction, the interviewer explained the problem and allowed me to share my screen and code in a shared editor. I clarified edge cases and explained my approach before jumping into implementation. Post-coding, we discussed time and space complexity.
Key Learnings:
Practice interval-related problems and understand edge cases well.
Clear verbal communication of the approach helps build rapport.
## Round 2: Onsite - First Round
Duration: 60 minutes
Difficulty Level: Medium
Experience:
The round began with a few behavioral questions about team collaboration, handling disagreements, and decision-making scenarios.
We then transitioned into a system design discussion, specifically an Object-Oriented Design for a Dispatch Service. The interviewer was looking for API specifications, data flow, and how different components interact. We discussed service responsibilities, communication between modules, and scalability. Follow-up questions were around failure handling and extensibility.
Key Learnings:
Focus not only on designing classes and methods but also on inter-component communication.
Having clarity on real-world constraints adds value during system design rounds.
## Round 3: Onsite - Second Coding Round
Duration: 60 minutes
Difficulty Level: Medium
Experience:
Started with a few behavioral questions around ownership and past projects. The technical problem was:
Given a set of numbers, find the minimum difference between any two numbers.
Example:[1, 2, 3, 4, 2.1, 2.3, 4]→ Answer:0.1
I first clarified input types and constraints (e.g., are negative numbers allowed, is precision important). Then I discussed both brute-force and optimized approaches using sorting.
Key Learnings:
Revisit common array-based questions and practice sorting-based optimizations.
Don't ignore numerical edge cases (e.g., floating point precision).
## Round 4: Onsite - Third Coding Round
Duration: 60 minutes
Difficulty Level: Medium
Experience:
Started with two behavioral questions about leadership and cross-team collaboration.
Then moved on to a mix of front-end and JavaScript-related questions, followed by a Tree Data Structure problem.
The tree question was of medium complexity. The interviewer was keen on recursive vs iterative approaches, so I walked through both. For front-end, basic DOM and JavaScript event loop questions were asked.
Key Learnings:
Leverage LeetCode’s tree question set — practice both DFS and BFS variants.
For full-stack roles, review front-end core concepts like async behavior and event propagation.
## Round 5: Onsite - Fourth Round
Duration: 60 minutes
Difficulty Level: Medium
Experience:
This round started with a few behavioral questions focusing on failure situations and time management.
The technical part was another system design round, focused on building an E-commerce system — covering modules like Search, Cart, and Shipment. The interviewer expected an object-oriented design with attention to modularity and API contracts. I also discussed different user workflows and data consistency.
Key Learnings:
Approach large systems by breaking them down — start from use cases and derive class-level abstractions.
Think aloud while making design choices, especially when trade-offs are involved.
## Round 6: Onsite - Fifth Round
Duration: 45 minutes
Difficulty Level: Medium
Experience:
This was a purely behavioral round, focusing deeply on past team experiences, project ownership, conflict resolution, and stakeholder communication. The interviewer asked multiple situational questions, and I answered using the STAR format.
Key Learnings:
Have at least 5–6 well-prepared STAR examples covering leadership, conflict, failure, and success.
Don’t underestimate behavioral rounds — they are crucial for cultural fit.
Final Thoughts
This interview process was structured and fair. Each round targeted a specific aspect of engineering capability, from coding and design to collaboration and leadership. The interviewers were respectful and gave sufficient hints if I got stuck — they were more interested in problem-solving ability and clarity of thought rather than only the final answer.
🧩 Key Takeaways:
Brush up object-oriented design — especially for services and modular applications.
Practice tree-based and interval-based coding problems.
Behavioral interviews carry weight — prepare with real scenarios from your experience.
Communication matters. Think aloud, ask clarifying questions, and walk through your reasoning.


