salesforce logo

Salesforce Interviews

57 experiences3,635 reads247 questions25% success rate
LMTS | Salesforce | Passed
salesforce logo
Salesforce
MTS III8 years
December 28, 202518 reads

Summary

I interviewed at Salesforce for an LMTS role, which involved multiple rounds covering algorithms, low-level design, and system design. Despite a challenging system design round and an unconventional hiring manager discussion, I received an offer but declined it as I was waiting for a response from Google.

Full Experience

Older 2 IIT's(CSE) Total Exp: 8+ Years (Mostly startups). Was part of November hiring drive

Round 1 - Algo DS Graph medium question. Did it in given time and ran all test cases. Interviewer had difficulty understanding c++ but was accomodating.

Round 2 - Algo DS + LLD Leetcode medium quesiton on Dp. Then few LLD design questions

Round 3 - Design Round with LMTS Got a really bad interviewer. The task was to design Google like news feed. I think I did pretty good on covering most of the basic things and went into deep dive on few things. Since we crossed the interview time, I cut her off and ended the interview.

Hiring Manager - Onsite with Director at Salesforce This interview was unconventional. At one point we were dicussing physics principles and aruging about fundamentals. The best round I had in salesforce interviews. Post our discussions, I really hoped that I can work under the director.

The whole interviews were finished in two weeks. Recruiter called me and informed me that I got selected for LMTS. But upon hearing that I'm waiting for google reponse, gave me a deadline of week to decide if I want to go with Salesforce or not, I said no.

The ballpark TC that recruiter said was 95+ lpa for this role

Interview Questions (1)

Q1
Design Google-like News Feed
System Design

The task was to design Google like news feed.

Salesforce | SMTS | Rejected
salesforce logo
Salesforce
MTS II5 yearsRejected
December 23, 202522 reads

Summary

I interviewed for a SMTS role at Salesforce, which involved multiple technical rounds and an unexpected change in the interview structure. Despite receiving positive feedback on my initial technical rounds, I was ultimately rejected after facing additional onsite rounds and a final hiring manager discussion.

Full Experience

I applied for the SMTS role directly on LinkedIn, bringing 5 years of experience. My interview process started with an OA round which had two LeetCode medium questions, though I don't recall the specifics.

I then had Technical Round 1, a virtual DSA round, where I was given problems similar to Pairs of Songs With Total Durations Divisible by 60 and Asteroid Collision. I received positive feedback for this round.

Next was Technical Round 2, another virtual round covering DSA and Low-Level Design. The DSA question was Longest Substring Without Repeating Characters, and for LLD, I had to design an elevator system. This round also resulted in positive feedback.

At this point, the recruiter called, confirming my positive feedback from both technical rounds and scheduled an onsite Hiring Manager round, which I was told would be the last. However, while I was already on my way, the recruiter called again to inform me that I would now have two additional onsite rounds: one for HLD and another DSA round. Being halfway there, I felt I had no choice but to accept this change.

Technical Round 3 was an onsite HLD round, where I was asked to design an API Rate Limiter. Unfortunately, the interviewer seemed disengaged and spoke very softly, making the experience less than ideal. I received negative feedback for this round.

Technical Round 4, another onsite DSA round, followed. The problem was a variation of Longest Substring of All Vowels in Order, but it asked for a subsequence instead of a substring. I hadn't encountered this pattern before and couldn't solve it, leading to negative feedback.

Finally, I had the HM Round onsite, which lasted only 10-15 minutes. I was asked basic behavioral questions about handling conflicts with team members and discussing my impact on past projects. Ultimately, I was rejected.

Interview Questions (7)

Q1
Pairs of Songs With Total Durations Divisible by 60 (Similar)
Data Structures & AlgorithmsMedium

A problem similar to finding pairs of songs where their total durations are divisible by 60.

Q2
Asteroid Collision (Similar)
Data Structures & AlgorithmsMedium

A problem similar to simulating asteroid collisions.

Q3
Longest Substring Without Repeating Characters
Data Structures & AlgorithmsMedium

Find the length of the longest substring without repeating characters.

Q4
Low-Level Design of an Elevator System
System Design

Design the low-level architecture for an elevator system.

Q5
Design API Rate Limiter
System Design

Design a system for API rate limiting.

Q6
Longest Subsequence of All Vowels in Order (Variation)
Data Structures & Algorithms

A variation of finding the longest substring of all vowels in order, specifically asking for a subsequence instead of a substring. I was unable to solve it.

Q7
Conflict Resolution and Project Impact
Behavioral

I was asked basic questions about how I would handle conflict with team members and to discuss past projects where I made a significant impact.

Salesforce SMTS experience
salesforce logo
Salesforce
MTS IIRejected
December 22, 202534 reads

Summary

Applied for Salesforce SMTS role and went through multiple rounds of interviews. Technical rounds focused on coding and data structures, while the hiring manager round included system design and behavioral questions. Despite performing well in coding and implementation, the candidate was rejected due to lacking design thinking and making logical mistakes in implementation.

Full Experience

Technical Round 1 (60 mins):
- Problem 1: Given a string and a number of rows, print the string in zigzag traversal. I provided the most optimized solution and executed it successfully.
- Problem 2: Given digits, print all possible strings like a phone keypad. Again, I delivered the optimal solution within the time limit. Both problems were solved in about 50 minutes.

Technical Round 2 (LLD) 6,0 mins:
- Problem: Implement an LFU (Least Frequently Used) cache. I explained the optimal approach, though the interviewer initially had difficulty following my reasoning. I implemented the entire solution (~100 lines of code). A minor syntax error prevented execution, but the interviewer seemed satisfied with the approach and completeness of the solution.

Hiring Manager Round (On-site):
- The first 15 minutes were a casual discussion where I felt a strong rapport with the hiring manager.
- We discussed my past projects, and I was able to highlight my contributions and technical depth.
- Problem: Adding polynomials. The manager only described the problem verbally without examples.
- Initially, I proposed a different solution.
- After clarifying requirements through discussion, I refined my approach and arrived at the correct solution.
- System Design: Asked to design a login page.
- I focused on gathering requirements, security considerations, and protection mechanisms.
- We discussed these aspects in detail.
- Behavioral Questions: The manager asked a few, and my responses seemed to leave a positive impression.

Outcome:
- After the interviews, I followed up with the recruiter.
- Initially, I was told the hiring manager had given kind a positive signal.
- However, after about 1.5 weeks, I received a rejection email stating that the feedback was not positive and they would not be proceeding further. The feedback mentioned that the candidate did not sufficiently demonstrate the level of design thinking expected for an SMTS role. The candidate is very good in coding and implementation, thought through the solution and implemented it in a highly optimized approach. However, the candidate lacked in discussing assumptions and made some logical mistakes in the implementation.

Interview Questions (3)

Q1
Zigzag Traversal of String
Data Structures & Algorithms

Given a string and a number of rows, print the string in zigzag traversal.

Q2
Phone Keypad String Generation
Data Structures & Algorithms

Given digits, print all possible strings like a phone keypad.

Q3
LFU Cache Implementation
Data Structures & Algorithms

Implement an LFU (Least Frequently Used) cache.

Salesforce MTS Interview Experience India | Offer Accepted
salesforce logo
Salesforce
indiaOffer
December 10, 202547 reads

Summary

Successfully cleared the Salesforce MTS interview process in India, securing an offer. The interview included two DSA rounds and a hiring manager round, with the candidate demonstrating strong problem-solving skills in BFS and DFS problems.

Full Experience

After clearing the HackerRank round, I received a call from the recruiter for further rounds. Initially, I was told there would be three rounds: DSA, System Design (LLD), and Hiring Manager. However, the plan was adjusted to two DSA rounds and one Hiring Manager round.

DSA Round 1:
1. Rotting Oranges - A simple BFS question that I solved easily.
2. Binary Search in Rotated Array - Another straightforward question that I managed to solve.

DSA Round 2:
1. Maximum Gold in Grid - A DFS/BFS problem that I solved but had some difficulty with time and space complexity.
2. Transform String - A challenging question not on LeetCode. I came up with a solution but failed to handle edge cases and couldn't solve it in time.

Hiring Manager Round:
The round was relatively simple, focusing on discussing my career switch and shared interests in contact centers, as both the manager and I had prior experience in this domain.

Interview Questions (3)

Q1
Rotting Oranges
Data Structures & AlgorithmsMedium

Given a grid representing oranges in a farm, where some oranges are rotten and others are fresh. Rotten oranges can rot adjacent fresh oranges in a certain time frame. The task is to determine the number of minutes that must elapse until no fresh oranges remain.

Q2
Binary Search in Rotated Array
Data Structures & AlgorithmsMedium

Given a sorted array that has been rotated at some pivot point, find the index of a target value using binary search. The array may contain duplicates, which adds complexity to the search.

Q3
Maximum Gold in Grid
Data Structures & AlgorithmsHard

Given a grid representing gold deposits, find the maximum amount of gold that can be collected by moving through the grid. Movement is allowed in four directions, and each cell can be visited only once.

Salesforce LLD Round SMTS
salesforce logo
Salesforce
MTS IIOngoing
December 7, 2025102 reads

Summary

I participated in an LLD (Low-Level Design) interview at Salesforce, where I was tasked with designing a cab booking service similar to Uber, focusing on core features such as ride requests, driver assignment, cancellations, and dynamic fare calculation.

Full Experience

During my LLD round at Salesforce, I encountered a fascinating problem: designing a cab booking service akin to Uber. The interviewer presented me with several key requirements that my design needed to incorporate. These included the fundamental ability for passengers to request rides and for available drivers to accept and fulfill those requests. It was also critical for the system to support passenger-initiated cancellations seamlessly. Users needed to specify both their pickup locations and desired destinations. A crucial component of the design was the fare calculation mechanism, which had to intelligently factor in variables like the distance traveled, the specific type of ride chosen, and the duration of the journey. I approached this by outlining the key architectural components, data models, and API endpoints necessary to support these functionalities, considering scalability and real-time updates.

Interview Questions (1)

Q1
Design Cab Booking Service (Uber-like)
System DesignHard

I was asked to design a comprehensive Cab Booking Service similar to Uber. The system needed to support the following core functionalities:

  • Allow passengers to request rides.
  • Allow drivers to accept and fulfill rides.
  • Allow passengers to cancel rides.
  • Allow passengers to specify their pickup location and destination.
  • Implement fare calculation based on distance, type of ride, and time.

Meeting Room Reservation Platform (Asked in Salesforce)
salesforce logo
Salesforce
December 1, 2025107 reads

Summary

I was presented with a system design challenge to create a low-level platform for meeting room reservations, focusing on booking, availability, and management features.

Full Experience

During my interview, I was given a comprehensive system design problem: to architect a Meeting Room Reservation Platform. The goal was to enable employees to efficiently book meeting rooms, check their availability, and manage existing reservations within an organization. I had to consider core functionalities, various entities involved, and crucial operational aspects.

The discussion covered several key functional requirements, such as viewing available rooms, booking, cancellation, gracefully handling overlapping requests, and listing bookings for specific rooms or employees. We also touched upon the optional enhancement of supporting recurring meetings.

I then moved on to identifying the main entities: Employee, MeetingRoom, Booking, and TimeSlot, and defined the essential operations for the system. Important constraints like preventing double-booking, ensuring extensibility, and tackling concurrency issues (e.g., race conditions during simultaneous bookings) were also part of the design considerations. The interviewer expected me to define classes with proper responsibilities and address potential edge cases like invalid time ranges or unavailability of rooms.

Interview Questions (1)

Q1
Meeting Room Reservation Platform Design
System DesignHard

Meeting Room Reservation Platform

Design the low-level system for a Meeting Room Reservation Platform that allows employees in an organization to book rooms for meetings, check availability, and manage bookings. The system should support the following core features:

Requirements:

Functional Requirements:
  1. An employee can view all available meeting rooms for a given time interval.
  2. An employee can book a meeting room if it is free during the requested time.
  3. Ability to cancel an existing meeting.
  4. Handle overlapping meeting requests gracefully.
  5. Ability to list all meetings scheduled for a given room or employee.
  6. Support recurring meetings (optional enhancement).

Entities Involved:

  • Employee
  • MeetingRoom
  • Booking
  • TimeSlot or Interval

Operations:

  • bookRoom(employeeId, roomId, startTime, endTime)
  • getAvailableRooms(startTime, endTime)
  • cancelBooking(bookingId)
  • listBookingsForRoom(roomId)
  • listBookingsForEmployee(employeeId)

Constraints to Consider:

  • No double-booking of the same room at overlapping times.
  • Extensibility for many rooms and bookings.
  • Concurrency: Handle race conditions where two users try to book the same room at the same time.

Design Expectations:

  • Define classes with proper responsibilities.
  • Handle edge cases (invalid time range, no available rooms, overlapping bookings).

Example Scenario:

  • Room A is booked from 10:00 AM to 11:00 AM.
  • User X tries to book Room A from 10:30 AM to 11:30 AM → Booking should fail due to overlap.
  • User Y books Room B from 10:30 AM to 11:30 AM → Booking successful.

Entities/Domain Objects

TimeSlot
  • startTime: LocalDateTime — start time of the interval
  • endTime: LocalDateTime — end time of the interval

Key Methods:

  • overlaps(other: TimeSlot): boolean — checks if this time slot overlaps with another
Employee
  • employeeId: String — unique identifier for the employee
  • name: String — employee's full name
  • email: String — employee's email address
MeetingRoom
  • roomId: String — unique identifier for the room
  • name: String — name of the meeting room
  • capacity: int — maximum number of people the room can accommodate
  • location: String — physical location of the room (e.g., "Floor 1")
BookingStatus (Enum)
  • ACTIVE — booking is active and confirmed
  • CANCELLED — booking has been cancelled
  • COMPLETED — booking time has passed
Booking
  • bookingId: String — unique identifier for the booking (auto-generated)
  • employeeId: String — ID of the employee who made the booking
  • roomId: String — ID of the booked meeting room
  • timeSlot: TimeSlot — time interval for the booking
  • createdAt: LocalDateTime — timestamp when booking was created
  • status: BookingStatus — current status of the booking (ACTIVE, CANCELLED, COMPLETED)

Key Methods:

  • overlaps(timeSlot: TimeSlot): boolean — checks if booking overlaps with given time slot (only for active bookings)
  • isActive(): boolean — returns true if booking status is ACTIVE
  • isCancelled(): boolean — returns true if booking status is CANCELLED

Service/ Repository layer

  • BookingService
  • EmployeeService
  • MeetingRoomService
Salesforce LMTS Online Interview Round | November 2025
salesforce logo
Salesforce
MTS IIIRejected
December 1, 2025133 reads

Summary

I had an online interview with Salesforce for an LMTS role where I was asked two coding problems. I solved one completely and had a partial solution for the second, but unfortunately, I was rejected because they expected both solutions to be fully working.

Full Experience

I recently interviewed online with Salesforce for an LMTS position. The round consisted of two coding questions, to be completed within an hour. I successfully solved the first problem, "Number of Islands." For the second problem, "House Robber II," I managed to come up with a partial dynamic programming solution, but I ran out of time before completing it. Ultimately, I received a rejection as the team expected a fully working solution for both problems.

Interview Questions (2)

Q1
Number of Islands
Data Structures & AlgorithmsMedium

Given an m x n 2D binary grid grid which represents a map of '1's (land) and '0's (water), return the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.

Q2
House Robber II
Data Structures & AlgorithmsMedium

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses are arranged in a circle. That means the first house is the neighbor of the last one. Meanwhile, adjacent houses have security systems connected, and it will automatically contact the police if two adjacent houses were broken into on the same night. Given an integer array nums representing the amount of money of each house, return the maximum amount of money you can rob tonight without alerting the police.

Salesforce SMTS Frontend Interview Experience
salesforce logo
Salesforce
Senior Member of Technical Staff (Frontend)Offer
November 23, 2025117 reads

Summary

I applied for the Senior Member of Technical Staff (Frontend) role at Salesforce through their career site. After successfully navigating through six rigorous interview rounds, which covered technical skills, system design, and cultural fit, I received an offer for the position.

Full Experience

I applied for the Senior Member of Technical Staff (Frontend) role through the Salesforce career site. My application was acknowledged, and I received a recruiter call after about 3-4 days.

Round 1: Online HackerRank Assessment (60 minutes)

This round required me to solve two coding questions to proceed. I encountered a graph-based problem and a dynamic programming problem focused on strings, which I completed.

Round 2: Hiring Manager Round (45 minutes)

This round covered a mix of topics. We discussed my current work experience, including my tech stack and cultural fit. We also delved into frontend performance, specifically: what FPS is, why it's important, and which CSS properties to avoid animating, favoring transform and opacity for better performance. A system design problem was presented: to design the "Send message" functionality on Slack, including user tagging, UI component design, and communication protocols. Finally, we discussed Canvas and its performance benefits.

Round 3: JS, HTML, CSS and React Fundamentals (60 minutes)

This was a comprehensive frontend fundamentals round. I was asked about semantic HTML and its benefits, the differences between Flexbox and Grid, and how to implement responsive layouts using media queries and relative sizes. In JavaScript, I explained call, apply, and bind, and was asked to write a polyfill for bind. Other JS topics included the Critical Rendering Path, CSSOM, and the Event Loop. For React, the questions covered forwardRef and useImperativeHandle, designing a data model for a chat application, understanding and fixing props drilling, and the benefits of Client Side Rendering. The round concluded with questions on web performance, such as different resource hinting techniques and how to improve INP.

Round 4: System Design - Google Maps (60 minutes)

The challenge was to design maps.google.com. This was a highly interactive discussion, not about finding a single right answer. We explored various aspects like Canvas vs. DOM rendering, tile-based rendering, Level of Detail (LOD) based on zoom, and techniques like debouncing/throttling for gestures. We also touched upon state management, caching strategies, and the design of various APIs such as Tile, Geocoding, Directions, Places, and real-time data APIs. User interactions, web workers for heavy computations, responsive design, keyboard navigation, screen reader support, and error tracking were also part of the discussion. The interviewer was very helpful and guided me when I got stuck.

Round 5: System Design - WhatsApp Web (60 minutes)

I was asked to design web.whatsapp.com. Having studied this problem before, I felt confident and the discussion flowed well with the lead engineer. We explored some new scenarios presented by the interviewer, and I was able to propose viable approaches.

Round 6: Culture Fit and Collaboration (60 minutes)

This final round focused on behavioral aspects. I discussed how I handle conflicts, specifically conflicts with a QA team. I also shared an experience where I pushed a bug to production, detailing the RCA process, adding E2E tests, and other mitigation steps taken. Another question involved a scenario where I had to work with a difficult colleague and how I managed the situation. There were a few more general cultural questions as well.

I am delighted to share that I received an offer for the Senior Member of Technical Staff (Frontend) role!

Interview Questions (22)

Q1
Discuss Current Work Experience
Behavioral

Discuss your current work experience, tech stack, and cultural fit.

Q2
Frontend Performance: FPS & CSS Animations
Other

What is FPS (Frames Per Second) and why is it important? What types of CSS properties should we avoid animating, and why are transform and opacity generally preferred for performant animations?

Q3
System Design: Slack 'Send Message' Functionality
System Design

Design a "Send message" functionality on Slack. Consider features like tagging people in messages, UI component design, and communication protocols to be used.

Q4
Canvas vs. DOM for Performance
Other

What is Canvas and why is it better for performance compared to traditional DOM rendering?

Q5
Semantic HTML
Other

What is semantic HTML? Why should we follow semantic HTML instead of using only divs?

Q6
CSS Layout: Flexbox vs. Grid
Other

Explain the difference between Flexbox and Grid. Implement a layout using CSS Grid.

Q7
Responsive Web Design Techniques
Other

How do you make your application responsive? Discuss techniques like media queries, relative sizes, etc.

Q8
JavaScript: call, apply, bind & Polyfill
Other

What are call, apply, and bind in JavaScript? Explain their differences. Write a polyfill for the bind method.

Q9
Critical Rendering Path & CSSOM
Other

What is the Critical Rendering Path? Explain the CSSOM (CSS Object Model).

Q10
JavaScript Event Loop
Other

How does the JavaScript Event Loop work?

Q11
React: forwardRef & useImperativeHandle
Other

What does the forwardRef hook do? What do you know about the useImperativeHandle hook in React?

Q12
Data Model for Chat Application
System Design

How will you implement the data model for a chat application?

Q13
React: Props Drilling & Solutions
Other

What is props drilling in React and how can you fix it?

Q14
Client Side Rendering
Other

What is Client Side Rendering (CSR)? When is it beneficial to use CSR?

Q15
Resource Hinting Techniques
Other

What are different resource hinting techniques in web performance?

Q16
Improving INP (Interaction to Next Paint)
Other

How would you improve the INP (Interaction to Next Paint) web vital?

Q17
System Design: Google Maps
System Design

Design maps.google.com. Consider aspects like Canvas vs DOM rendering, tile-based rendering, Level of Detail (LOD) based on zoom, debouncing/throttling for gestures, state management, caching strategy, APIs (Tile, Geocoding, Directions, Places, Real-time data), user interactions (gesture handling, event delegation, touch optimization), web workers, responsive design, keyboard navigation, screen reader support, and error tracking.

Q18
System Design: WhatsApp Web
System Design

Design web.whatsapp.com, including consideration for various scenarios and features.

Q19
Conflict Resolution
Behavioral

How do you handle conflicts?

Q20
Conflict with QA Team
Behavioral

How will you handle conflicts specifically with the QA team?

Q21
Bug in Production Experience
Behavioral

Tell me about a scenario where you pushed a bug to production that caused an issue. What steps did you take, including creating an RCA (Root Cause Analysis), adding E2E tests, and other mitigation steps?

Q22
Difficult Colleague Experience
Behavioral

Tell me about a scenario when working with someone was very difficult and how you handled it.

Salesforce USA SMTS Offer
salesforce logo
Salesforce
Senior MTSUSAOffer
November 22, 2025169 reads

Summary

I successfully navigated a multi-round interview process for a Senior MTS role at Salesforce USA, which included coding, system design, and behavioral questions, ultimately leading to an offer.

Full Experience

My Salesforce USA SMTS Interview Experience

I recently interviewed for a Senior MTS role at Salesforce USA, and I'm thrilled to share that I received an offer. The interview process was quite extensive, covering multiple rounds with varied experiences. Here's a breakdown of how it went:

Hiring Manager Screen (45 mins)

This round primarily focused on my work experience, my role, and the impact I had in previous positions. It was almost entirely dedicated to behavioral questions, and we actually ran over the scheduled 45 minutes, extending to over an hour.

Online Assessment (60 mins)

The online assessment consisted of four standard LeetCode problems. The final problem boiled down to finding the longest increasing subsequence. Unfortunately, I couldn't code the optimal O(n log n) solution within the time limit, which resulted in 7-8 test cases failing.

Onsite Interviews

Coding (60 mins)

This round started with 1-2 behavioral questions. The main coding challenge was a standard linked list problem: reversing a sublist from a given 'fromIndex' to 'toIndex'. I discussed some simple follow-ups and optimization strategies. Towards the end, we also delved into system design aspects, specifically around the cloud service providers I've worked with, predominantly AWS. Discussions included DynamoDB, Lambda, and SQS.

System Design (60 mins)

Similar to the previous round, this also began with 1-2 behavioral questions. The initial part of the session was a rapid-fire Q&A, covering fundamental concepts like 'What is a REST API?', 'What is HTTPS?', and 'What is JWT?'. The interviewer aimed to test the depth of my foundational knowledge. With only 20 minutes left, we finally moved to the core system design question: designing a service similar to TicketMaster. This was an intense discussion where the interviewer meticulously grilled me on every statement. We had very in-depth conversations, touching upon ensuring atomicity in ACID-compliant databases (literally down to the thread level), why Elastic Search speeds up search queries, what an inverted index is, and potential problems with Elastic Search. This round also went significantly overtime, by about 25 minutes, which felt unprofessional and contributed to a rather poor candidate experience.

Coding / Design (60 mins)

This round also included 2 behavioral questions. It felt more like a knowledge-testing session rather than a typical coding or design round. We started with basic questions like 'What is the difference between Arrays and Lists?', 'What is caching?', and 'How to implement a hashmap?'. We also discussed cache eviction strategies when memory is full, and the implementation details of LRU and LFU caches. Following this, we moved to design discussions related to a Stock Broker app. The core problem was 'What is the best way to show historical prices of a stock to the client?', to which I suggested using a time-series database. We then discussed its pros/cons and why it speeds up time-related queries. We also covered 'How to handle stock ticker changes on the app?', where I proposed a pub/sub model instead of regular polling, leading to questions about 'What is a Pub/Sub?' and 'How does Redis pub/sub work?'. The conversation continued with discussions on Kafka, its internals, and message brokers in general. It was quite peculiar that I didn't write a single line of code in this round. For a senior/staff candidate, some of these foundational questions felt borderline insulting, suggesting a lack of a clear script for the interview.

Behavioral (45 mins)

This round was entirely behavioral. I was asked to pick a project of my choice, explain its design choices, detail my role's impact, and discuss challenges I faced. Standard behavioral questions included scenarios like taking calculated risks, experiences with project failures, examples of organization-wide or team-wide impact, and any processes I changed within my team.

Coding (60 mins)

The final round again started with 1-2 behavioral questions. The coding challenge was a problem from HackerRank. The prompt was quite lengthy, but the problem itself wasn't overly difficult. It took me some time to fully understand the problem statement, sample inputs, and expected outputs. Once coded, it passed all the provided test cases.

Overall, I found some of the interview rounds to be quite unstructured, with some questions feeling inappropriate for a senior/staff level candidate. Despite these observations, the recruiter reached out the very next day to extend an offer.

Interview Questions (9)

Q1
Longest Increasing Subsequence
Data Structures & Algorithms

In the online assessment, one of the problems was to find the longest increasing subsequence in an array. I struggled to implement the O(n log n) solution, which resulted in failing some test cases.

Q2
Reverse Linked List Sublist
Data Structures & Algorithms

During one of the coding rounds, I was given a standard linked list problem: reverse a sublist within a given linked list from a specified 'fromIndex' to 'toIndex'.

Q3
AWS Services Discussion
System Design

We had discussions on various AWS cloud services, specifically focusing on DynamoDB, Lambda, and SQS, related to my experience with cloud service providers.

Q4
Fundamental Web Technologies
System Design

I was asked fundamental questions covering 'What is a REST API?', 'What is HTTPS?', and 'What is JWT?'. The interviewer aimed to gauge the depth of my knowledge in these areas.

Q5
Design TicketMaster-like Service
System DesignHard

I was challenged to design a service similar to TicketMaster. This involved a deep dive into architectural choices and addressing various system design considerations, including ensuring atomicity in ACID-compliant databases (even at the thread level), the role of Elastic Search in speeding up search queries, inverted indexes, and potential problems with Elastic Search.

Q6
Core Data Structures and Caching Concepts
Data Structures & Algorithms

I was asked a series of foundational questions: 'What is the difference between Arrays and Lists?', 'What is caching?', 'How to implement a hashmap?', 'What happens if you cannot fit the cache in memory (cache eviction)?', 'How is LRU implemented?', and 'How is LFU implemented?'

Q7
Stock Broker App - Historical Prices & Real-time Updates
System Design

The discussion revolved around designing aspects of a Stock Broker application. Specifically, 'What is the best way to show historical prices of a stock to the client?' This led to a discussion on time-series databases, their pros/cons, and why they speed up time-related queries. We also covered 'How to handle stock ticker changes on the app?', where I proposed using pub/sub instead of regular polling, leading to questions like 'What is a Pub/Sub?' and 'How does Redis pub/sub work?'

Q8
Kafka and Message Brokers
System Design

There was a knowledge-testing discussion focused on Kafka, its internal mechanisms, and message brokers in general.

Q9
Standard Behavioral and Project Discussion
Behavioral

I was asked to discuss a project of my choice, explaining design choices, my role's impact, and challenges faced. Standard behavioral questions included: 'Tell me about a calculated risk you took', 'Have you ever failed in your projects?', 'Provide an example of organization-wide or team-wide impact', and 'Describe any processes you changed in your team'.

Salesforce MTS interview experience 3 years
salesforce logo
Salesforce
MTS I3 yearsRejected
November 15, 2025182 reads

Summary

I interviewed for a Member of Technical Staff (MTS) role at Salesforce with 3 years of experience. My process included an Online Assessment, two Data Structures & Algorithms rounds, and a final technical interview, ultimately resulting in a rejection.

Full Experience

My interview journey for the MTS role at Salesforce, with my 3 years of experience from a product-based startup and an ECE background from a Tier-3 college, began with an Online Assessment.

Round 1 – Online Assessment (HackerRank)

The assessment consisted of 6 MCQs and 2 coding problems. The first problem asked me to find the maximum possible even sum from a subset of an array, including negative values. The second problem was about determining the minimum moves required to make two arrays identical by incrementing or decrementing single digits of elements. I managed to clear all test cases for both problems, and after 1.5 weeks, I received an interview call.

Round 2 – DSA Round

This round started with a brief 10-minute introduction. The interviewer then shared a HackerRank link with two problems. The first was an overlapping-intervals problem, which I solved in about 20 minutes. Unexpectedly, given my ECE background, the interviewer then posed a surprise question: perform arithmetic operations without using standard arithmetic operators. I discussed bitwise-based approaches and, though I couldn't provide a full solution, I conveyed partial ideas, which took about 30 minutes. After that, we moved to the second actual DSA problem, a fairly hard graph traversal question. The interviewer only asked for my approach, and I explained how I would use BFS/Dijkstra, along with my reasoning, which seemed to satisfy them. Within 10 minutes, I received a call to rejoin for the next round.

Round 3 – Final Technical Round

The final technical round presented a problem: given multiple transactions like 'A B 100' (A paid 100 for B), compute the minimum transactions needed to settle all accounts. I tried to clarify the requirements, but the interviewer was unresponsive to my follow-up questions. I explained my thought process and proceeded to implement my approach. Towards the end, the interviewer noted my logical reasoning was acceptable but seemed unsatisfied with the overall solution. When I inquired about the coding feedback, they simply stated HR would share it. Later that evening, I received a rejection email.

Interview Questions (4)

Q1
Maximum Even Subset Sum
Data Structures & AlgorithmsMedium

Given an array values[], find the maximum possible even sum that can be obtained by selecting any subset of its elements. Values may be negative, and selecting no elements is allowed. It's guaranteed that at least one even value exists in the array.

Q2
Minimum Moves to Make Arrays Identical (Digit Manipulation)
Data Structures & AlgorithmsHard

Given two arrays, determine the minimum number of moves required to make them identical. A move is defined as incrementing or decrementing a single digit of any element in either array. Reordering of elements is not allowed.

Q3
Arithmetic Operations Without Operators
Data Structures & Algorithms

Perform arithmetic operations (e.g., addition, subtraction, multiplication, division) without using the standard arithmetic operators (+, -, *, /).

Q4
Minimum Transactions to Settle Debts
Data Structures & AlgorithmsHard

You are given multiple transactions in the form A B 100, meaning person A paid 100 on behalf of person B. You need to compute the minimum number of transactions required to settle all accounts so everyone’s net balance becomes zero.

Salesforce LMTS | India | Interview experience | September 2025 | Offer
salesforce logo
Salesforce
Lead Software Engineer/LMTS - Backend - Distributed SystemsIndia10.3 yearsOffer
November 7, 2025353 reads

Summary

I successfully navigated a comprehensive interview process for the LMTS (Lead Member of Technical Staff) role at Salesforce India and received an offer. The interview journey included a HackerRank screening, followed by several virtual and in-person rounds focusing on Data Structures & Algorithms, Low-Level Design, High-Level Design, and a Hiring Manager discussion.

Full Experience

I was approached by a recruiter for the Lead Software Engineer/LMTS - Backend - Distributed Systems role at Salesforce India, given my ~10.3 years of experience. The entire interview process led to an offer.

Screening Round: Hackerrank

This round consisted of two LeetCode medium-level questions, to be completed in 75 minutes under proctored conditions with my microphone and video on. For the first question, I identified the need for a binary heap (priority queue) and solved it. The second question was trickier, which I tackled using a combination of sorting and math rather than basic DP. I successfully passed all test cases for both problems, and HR contacted me the very next day to advance to the next rounds.

Round 1: DSA

This was a virtual interview conducted via Google Meet. We started with a brief introduction about my work and a discussion on a challenging situation I recently handled, which lasted about 10 minutes. The interviewer then moved to the coding questions.

  • First, I was asked to implement a max stack. I took my time to think and explained my approach thoroughly using Excalidraw, which significantly helped in communicating my thought process. Initially, my solution had a higher time complexity, but the interviewer probed me to reduce it to O(1). Once I figured out the optimal O(1) approach, I wrote the full Java implementation, including various test cases.
  • With about 15 minutes remaining, the interviewer asked me to implement a frequency stack. Again, I used Excalidraw to explain my approach. Due to time constraints, I couldn't write the code, but I sensed the interviewer was convinced by my explanation.

The interviewer concluded by wishing me luck for the next round.

Round 2: LLD

This was another virtual round via Google Meet. We began with a brief discussion (5-6 minutes) about my work, roles, and responsibilities. Following this, we had a 15-17 minute discussion on various database concepts, including sharding, partitioning, and when to choose each. I explained my reservations about sharding due to its inherent complexities and the need for careful implementation. The interviewer also checked for my practical knowledge regarding scalability. Then came the core LLD question:

"Implement a connection pool."

Initially, my mind went blank, but I quickly regained composure and started clarifying the requirements. The key specifications were:

  • A pool of 1000-2000 connections.
  • Developers should be able to request a connection.
  • Provide a free connection if available.
  • Developers can return or close a connection.
  • If a connection is closed, a new one should be created to maintain the pool count.
  • Connections have three states: FREE, BLOCKED, CLOSED.
  • If connections are exhausted, implement a mechanism with a default timeout to reject requests if no connection becomes free within that time.

I implemented this through continuous discussions with the interviewer, thinking out loud, and explaining my thought process before writing any code. The interviewer was particularly interested in how I handled concurrency with limited connections, for which I used a BlockingQueue and ensured methods were synchronous where applicable. For the default timeout, I chose an O(n) approach, mentioning that for larger scales (e.g., 10^6 connections), I would use two different blocking queues for O(1) access, noting it as a TODO. The interviewer appreciated this transparent design choice. I ensured all requirements were met, and we ran out of time. I also used the last 5 minutes to ask my questions.

I received the call for Round 3 two weeks after Round 2.

Round 3: HLD

This was an in-person, whiteboard interview at the office. The interviewer asked me to design a marketing campaign system. As is typical for HLD, I clarified the requirements and started drawing on the whiteboard while explaining my thought process. The interviewer wasn't looking for a complete end-to-end solution but rather deep dives into specific proposals. Every time I drew or proposed something, they would dig deep into the justifications and reasoning. The discussion was very interactive, and the interviewer course-corrected me twice. Most deep dives revolved around distributed transactions, scalability, various distributed architectures, failure handling, self-healing systems, and briefly, the Saga pattern.

Round 4: HM

This was also an in-person, whiteboard interview at the office. The Hiring Manager extensively questioned me about my current project and grilled me on its architecture for about 45 minutes. Following this, we moved to behavioral questions, focusing on my roles, responsibilities, leadership, and mentoring traits. As we walked out, the HM inquired about my notice period. The very next day, HR hinted at positive feedback, and I received the confirmation call the day after.

Interview Questions (4)

Q1
Implement Max Stack
Data Structures & Algorithms

The interviewer asked me to implement a Max Stack. I explained my approach using drawings and iteratively optimized it to achieve O(1) time complexity for all operations. After finalizing the optimal solution, I proceeded to write the fully functional Java code and included various test cases.

Q2
Implement Frequency Stack
Data Structures & Algorithms

In the remaining 15 minutes, the interviewer asked me to implement a Frequency Stack. I focused on explaining my approach using Excalidraw drawings, as there wasn't enough time to write the full code.

Q3
Implement a Connection Pool
System Design

The core LLD question was to implement a connection pool with specific requirements: manage 1000-2000 connections, handle requests for connections, return/close connections, maintain connection count, manage three states (FREE, BLOCKED, CLOSED), and implement a default timeout for connection requests if the pool is exhausted.

Q4
Design a Marketing Campaign System
System Design

The HLD round required me to design a marketing campaign system. The interviewer was particularly interested in deep dives into specific architectural components rather than a superficial overview. The discussion heavily focused on justifying proposals and exploring technical nuances.

Salesforce SMTS
salesforce logo
Salesforce
MTS II
November 6, 2025131 reads

Summary

I recently interviewed for the SMTS role at Salesforce, which involved multiple rounds including coding and a Low-Level Design discussion. I encountered both common LeetCode problems and a detailed system design scenario.

Full Experience

My interview process for the SMTS position at Salesforce consisted of a few rounds. The initial Online Assessment questions aren't clear in my memory, but they were typical of what one might expect. Round 1 focused on data structures and algorithms, where I was asked to solve the 'Longest Non-Repeating Substring' problem and to implement a 'Min Stack'. Round 2 was a Low-Level Design challenge, requiring me to design an 'Elevator Service' system with advanced features, specifically the option to change the direction of escalators within a building with N floors.

Interview Questions (3)

Q1
Longest Non-Repeating Substring
Data Structures & AlgorithmsMedium

Implement an algorithm to find the length of the longest substring without repeating characters.

Q2
Min Stack
Data Structures & AlgorithmsMedium

Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.

Q3
Elevator Service Low-Level Design
System DesignHard

Design an Elevator Service Low-Level Design (LLD) for a building with N floors. The system should include options to change the direction of escalators.

Salesforce | SMTS | Interview Experience
salesforce logo
Salesforce
MTS II7.5 yearsOngoing
November 6, 2025210 reads

Summary

I recently interviewed at Salesforce for an SMTS Backend role, successfully navigating a HackerRank coding assessment and a virtual DSA round. While I solved most of the problems, I ran out of time implementing the optimal solution for a challenging design question.

Full Experience

I was approached by a recruiter for the SMTS Backend role at Salesforce, which led to an interview process comprising two main rounds.

Round 1: Platform - HackerRank

This round consisted of two coding questions, to be completed within 75 minutes. The first question was a variant of Remove Duplicates from Unsorted Linked List, requiring me to ensure only a single occurrence of numbers. The second was a variant of Kth Largest Element in an Array. I managed to solve both problems efficiently within 40 minutes.

Round 2: Virtual DSA Coding Round

This round also presented two questions, with a 60-minute time limit. The first question was a variant of Reconstruct Itinerary, simplified by the constraint that the input would not contain any loops or multiple paths. I solved this problem using a hashmap and a set in approximately 30 minutes, and the interviewer seemed satisfied with my approach.

The second question was to design a Queue with an O(1) getMax() operation. I initially considered using a queue combined with a monotonic increasing stack, but while coding, I realized a monotonic deque, similar to the technique used in the Sliding Window Maximum problem, would be a more suitable approach. Unfortunately, I was unable to complete the deque solution within the remaining 30 minutes.

Interview Questions (4)

Q1
Remove Duplicates from Unsorted Linked List (Variant)
Data Structures & AlgorithmsMedium

A variant of the standard 'Remove Duplicates from an Unsorted Linked List' problem, where the requirement is to ensure only a single occurrence of each number in the linked list.

Q2
Kth Largest Element in an Array (Variant)
Data Structures & AlgorithmsMedium

A variant of the problem 'Kth Largest Element in an Array'.

Q3
Reconstruct Itinerary (Variant without Loops/Multiple Paths)
Data Structures & AlgorithmsHard

A variant of the 'Reconstruct Itinerary' problem. The key difference is that the input will not contain any loops or multiple paths, simplifying the problem considerably.

Q4
Design Queue with O(1) getMax()
Data Structures & AlgorithmsMedium

Design a queue data structure that supports a getMax() operation, which returns the maximum element currently in the queue in O(1) time complexity. The standard queue operations (enqueue, dequeue) should also be efficient.

Salesforce | SMTS | OA
salesforce logo
Salesforce
SMTS Backend6.5 yearsOngoing
November 5, 2025123 reads

Summary

I recently completed the Online Assessment for a Staff Member of Technical Staff (SMTS) Backend role at Salesforce, which involved two coding questions on Hackerrank.

Full Experience

I recently applied for a Staff Member of Technical Staff (SMTS) Backend role at Salesforce through their careers portal. After applying, I was invited to complete an Online Assessment on Hackerrank. The assessment consisted of two coding questions, and I had 75 minutes to complete them.

Interview Questions (2)

Q1
Minimum Operations to Reduce to 0
Data Structures & Algorithms

Given a positive integer n, find the minimum number of operations required to convert n to 0. In each operation, you can choose any integer i (where i ≥ 0) and either add or subtract 2^i from n. The answer should return the minimum number of operations required to reduce n to 0.

Q2
Maximum Requests in Window
Data Structures & Algorithms

Given an integer array timestamp and an integer windowSize, find the maximum number of requests that occur within any continuous time window of a specified range. The function should return an integer denoting the maximum requests observed in any window of windowSize minutes.

Salesforce OA | SMTS | Hackerrank | Nov 2025
salesforce logo
Salesforce
6 yearsOngoing
November 2, 2025215 reads

Summary

I cleared the Online Assessment for Salesforce with a strong performance on two data structures problems. The interview focused on algorithmic problem-solving and efficient coding practices.

Full Experience

YOE: 6YOE

Online Assessment: 2 DS Question Solved Both.

Problem Statement 1

A classification system evaluates whether given texts are spam based on a list of spam words.
A text is labeled “spam” if it contains at least two spam words (each occurrence of a spam word in the text counts toward the total).
Spam word matching is case-sensitive.

Example:

texts = {
    "This is a limited offer just for you",
    "Win cash now! Click here to claim your prize",
    "Hello friend, just checking in",
    "Congratulations! You have won a free gift"
};

spamWords = {
    "offer", "cash", "Click", "prize", "Congratulations", "free"
};

Output:
["not_spam", "spam", "not_spam", "spam"]

Function Signature:
vector<string> classifyTexts(vector<string> texts, vector<string> spamWords);

Input:
 texts: a list of strings (the texts to evaluate).
 spamWords: a list of strings (the spam words).

Output:
 A list of strings, each either "spam" or "not_spam" for each text.

Constraints:
1 ≤ n ≤ 10^3 (number of texts)
1 ≤ k ≤ 10^5 (number of spam words)
1 ≤ len(text) ≤ 10^5
1 ≤ len(spamWord) ≤ 10^5
Combined length of all spam words does not exceed 10^7

Solution

  List < String > result = new ArrayList < >();

  // Convert spam words to lowercase for case-insensitive comparison
  Set < String > lowerSpamWords = new HashSet < >();
  for (String word: spamwords) {
    lowerSpamWords.add(word.toLowerCase());
  }

  // Process each text
  for (String text: texts) {
    // Split text into words and convert to lowercase
    String[] words = text.toLowerCase().split("\W+");

    int spamCount = 0;

    // Count spam word occurrences (each occurrence counts)
    for (String word: words) {
      if (!word.isEmpty() && lowerSpamWords.contains(word)) {
        spamCount++;
      }
    }

    // Classify: spam if >= 2 spam words found, otherwise not_spam
    if (spamCount >= 2) {
      result.add("spam");
    } else {
      result.add("not_spam");
    }
  }

  return result;
}

Problem Statement 2 : Longest Subsequence

Determine the maximum length of a subsequence from one string that is also a substring of another string. A subsequence of a string is created by removing zero or more characters from it, while a substring consists of consecutive characters from the string.
Given two strings x and y, determine the length of the longest subsequence of x that is also a substring of y.

Example:
x = "abcd"
y = "bbdc"

The subsequences of "abcd" are: "a", "b", "c", "d", "ab", "ac", "ad", "bc", "bd", "cd", "abc", "abd", "acd", "bcd", and "abcd".
The substrings of "bbdc" are: "b", "b", "d", "c", "bb", "bd", "dc", "bbd", "bdc", and "bbdc".

The longest subsequence of x that is also a substring of y is "bd" with length 3.
Function Description:
Complete the function longestSubsequence in the editor with the following parameter(s):
string x: a string to find the subsequence of
string y: a string to find the substring of
Returns:
int: the length of the longest subsequence of x that is a substring of y
Constraints:
1 ≤ lengths of x and y ≤ 2000
Strings x and y consist of lowercase English letters (ascii[a-z])

Solution

public static int longestSubsequence(String x, String y) {
        int maxLength = 0;
        
        // For each starting position in y (try all possible substrings)
        for (int start = 0; start < y.length(); start++) {
            int xIndex = 0;
            int yIndex = start;
            int currentLength = 0;
            
            // Greedily match consecutive characters from y[start...] 
            // as a subsequence in x
            while (xIndex < x.length() && yIndex < y.length()) {
                if (x.charAt(xIndex) == y.charAt(yIndex)) {
                    currentLength++;
                    yIndex++;
                }
                xIndex++;
            }
            
            maxLength = Math.max(maxLength, currentLength);
        }
        
        return maxLength;
    }

Interview Questions (1)

Q1
Spam Text Classification
Data Structures & AlgorithmsMedium

A classification system evaluates whether given texts are spam based on a list of spam words. A text is labeled 'spam' if it contains at least two spam words (each occurrence counts). Spam word matching is case-sensitive. The function must return a list of 'spam' or 'not_spam' for each text.

Salesforce Interview Experience
salesforce logo
Salesforce
7 yearsRejected
November 1, 2025127 reads

Summary

Applied for Salesforce interview on 1st November 2025. Faced a challenging DSA round with a problem involving array operations and maximum subarray sum. Could not solve it and was rejected.

Full Experience

Experince: 7 years
Current: Prduct Based Compnay (36 + 5.5 + 4.5 (LTI)) - ~46 LPA
Offer in Hand: Walmart: 45 + 8.7 + 3.5(stocks) = ~57 LPA
Kotak Mahindra: 49 + 7.5 + 4.5(LTI) = ~ 60 LPA

I was part of salesforce hiring drive today i.e. 1st November 2025
Round -1 DSA:
find the maximum subarray sum of array1 after applying m operations from arr2: condition for operation:
1. you can choose one element from arr2 either from front or either from back and put it in array 1 either at back or front.
2. you have to delete element that you pick from array 2.
3. after adding element to array1, now you need to find the maximum subarray sum of array 1.

you can perform above opertions m times where m is the size of array 2
e.g. array1 ={1,3,-5,2,2} array2 = {2,3}
o/p = 2,2,2,3 = 9 when you put but the elements of array 2 at the end of array 1.

Not able to solve it.
Solution is highly appreciated but not the chatGpt/Claude/deepseek
Result: Rejected

Anyone have idea what's the difficulty : medium or hard.

Interview Questions (1)

Q1
Maximum Subarray Sum After Array Operations
Data Structures & Algorithmsmedium

Find the maximum subarray sum of array1 after applying m operations from arr2. Each operation allows choosing an element from arr2 (either front or back) and placing it in array1 (either at the front or back). After each operation, the chosen element is deleted from arr2. The operations can be performed m times, where m is the size of array2.

Salesforce OA SMTS
salesforce logo
Salesforce
Ongoing
October 31, 202561 reads

Summary

Submitted a straightforward OA with two easy problems related to sets and a 0-1 knapsack-like question. Both were solved within 30 minutes, but no response has been received in over a week.

Full Experience

Interview(75 min)

Easy problem related to Set

Easy medium problem similiar to 0-1 Knapsack

I was able to solve both within 30 minutes, but I haven’t heard back for over a week. Has anyone else experienced something similar?

Interview Questions (2)

Q1
Set Operations Problem
Data Structures & AlgorithmsEasy

A problem involving set operations, likely requiring efficient handling of elements and their relationships.

Q2
0-1 Knapsack Variant
Data Structures & AlgorithmsMedium

A problem similar to the 0-1 Knapsack, where the goal is to select items with maximum value without exceeding capacity constraints.

Salesforce SMTS Interview
salesforce logo
Salesforce
MTS IINo Offer
October 30, 2025121 reads

Summary

I recently interviewed for the SMTS role at Salesforce, where I encountered two algorithmic challenges. Despite formulating approaches for both problems, I was unable to complete them within the allotted time, ultimately not receiving an offer.

Full Experience

I had my first round interview at Salesforce for the SMTS position. After a brief one-minute introduction, the interviewer immediately presented me with two coding questions via a Hackerrank link. The first question was identical to Remove All Adjacent Duplicates in String II. I initially brainstormed a brute-force approach but, after about 10-15 minutes, I pivoted to a more efficient stack-based solution. However, since nearly 30 minutes had passed, the interviewer decided to move on. The second question was conceptually the same as Binary Tree Maximum Path Sum, but it came with a significant twist: the input was provided as List<Integer> parent and List<Integer> values. This meant I had to either construct the entire tree from these lists myself or develop an approach that could work directly with this input format. I managed to devise the core approach for the problem but found the task of building the tree from scratch within the tight time constraints to be quite challenging. In the end, I wasn't able to fully solve either problem, though I was able to articulate my thought processes and proposed solutions for both.

Interview Questions (2)

Q1
Remove All Adjacent Duplicates in String II
Data Structures & Algorithms

The problem given was exactly the same as Remove All Adjacent Duplicates in String II. The task involves repeatedly removing sequences of k adjacent and identical characters from a string until no such sequences remain, and then returning the final string.

Q2
Binary Tree Maximum Path Sum with List Input
Data Structures & Algorithms

This question was fundamentally the same as Binary Tree Maximum Path Sum, which asks to find the maximum path sum in a binary tree. However, the inputs were given as List<Integer> parent and List<Integer> values, rather than a pre-built tree. This required me to first construct the binary tree from these lists or adapt my solution to work directly with this list-based representation before computing the maximum path sum.

Salesforce MTS Interview Experience
salesforce logo
Salesforce
Member of Technical Staff (MTS)HyderabadOngoing
October 25, 2025254 reads

Summary

I interviewed for a Member of Technical Staff (MTS) role at Salesforce, which involved an online assessment, two virtual technical rounds focusing on Data Structures & Algorithms and Low-Level Design, and an onsite round in Hyderabad covering project discussions, system design, and coding. I am currently awaiting the offer negotiation.

Full Experience

The recruitment process started after a recruiter reached out to me on LinkedIn for a different position, but after sending my resume, I was offered an online assessment for this MTS role. My journey began with Round 1, an OA consisting of 3-4 LeetCode medium-hard questions, though I don't recall the exact problems. Following the OA, I had Rounds 2 & 3 on the same day in late September.

Round 2 started with a straightforward string question. After solving and testing it, the interviewer, seeing we had time, moved on to a more challenging dynamic programming problem. I managed to solve both questions, albeit with a little extra time needed.

Round 3 was a combination of Data Structures & Algorithms and Low-Level Design. The interviewer initially posed a simple array question, keen to see how I'd approach edge cases and scalability for increased input limits. We then transitioned into designing a Meeting Scheduler, where I discussed the core objects, classes, design patterns, and strategies for handling conflicting meetings. My design approach seemed to satisfy the interviewer.

After clearing these virtual rounds, the recruiter scheduled my onsite interview in Hyderabad.

Round 4 involved two interviewers, an SMTS and a Director. They were incredibly accommodating, allowing me time to settle in before starting. We began by discussing my previous projects. Given my background in search algorithms, they then asked me about high-level requirements for a Facebook search-type application. Following this, I was asked to design a parking lot on a whiteboard and write valid code for it. The interview concluded with me asking a few questions.

Currently, I'm in the waiting phase. The recruiter reached out the following week for offer negotiations and has been assuring me consistently that an offer is in process, though it has been ongoing for 20 days already. I'm hopeful to receive it soon and that my experience proves helpful to others.

Interview Questions (5)

Q1
Sort List of Names with Roman Numerals
Data Structures & AlgorithmsMedium

Given a list of strings containing a name and a roman numeral, sort the list first by name, then by the decimal value of the roman numeral. Roman numerals follow these rules: A value is not repeated more than three times. When a smaller value precedes a larger value, it indicates subtraction. For any other two-digit numbers less than 50, concatenate the roman numerals that represent its multiples of tens with the roman numerals for its values less than 10. For example, if 43 is 40 plus 3, then XL plus 3.

Q2
Minimum Weekly Input for Campaigns
Data Structures & AlgorithmsHard

The company plans to launch marketing campaigns every several weeks. Each campaign has a certain cost, and at least one campaign must be launched every week. The weekly input is defined as the maximum cost of any campaign planned for that week. Given an area of campaign costs and number of weeks, determine the minimum possible sum of weekly inputs when campaigns are optimally planned. The campaign must remain in the original order. Each campaign must be launched in exactly one week and cannot be skipped.

Q3
Longest Consecutive Streak of All Services Passing Health Checks
Data Structures & AlgorithmsMedium

Part of a development team will generate M microservices. The data system reports whether each service passed Y or failed N in its health checks. Find the longest streak of consecutive days during which all services passed their checks.

Q4
Design a Meeting Scheduler
System Design

Design a Meeting Scheduler, including basic objects, classes, design patterns, and how to handle conflicting meetings.

Q5
Design a Parking Lot
System Design

Design a parking lot on a whiteboard and write valid code for its core functionality.

Preparation Tips

My preparation for this interview primarily involved solving LeetCode problems to strengthen my Data Structures & Algorithms skills, which was crucial for the online assessment and the DSA-focused technical rounds. For the system design and low-level design aspects, I focused on understanding fundamental design principles, object-oriented concepts, and common design patterns, which helped me in tackling problems like designing a Meeting Scheduler and a Parking Lot.

Salesforce MTS Round - 1 (DSA)
salesforce logo
Salesforce
MTS IOngoing
October 24, 2025150 reads

Summary

I had my first round for the MTS role at Salesforce, which started with an introduction and discussion about my projects. I was asked a DSA question, 'Word Break', and was able to provide a recursive solution with some hints from the interviewer.

Full Experience

My interview for the MTS role at Salesforce began with a standard introduction where I discussed my background and the projects I've worked on. Following that, I was presented with a DSA question. The problem was 'Word Break', and although I could come up with a recursive solution, it did require some hints from the interviewer to get there.

Interview Questions (1)

Q1
Word Break
Data Structures & AlgorithmsMedium

Given a string s and a dictionary of strings wordDict, return true if s can be segmented into a space-separated sequence of one or more dictionary words. You may assume the dictionary does not contain duplicate words. The same word in the dictionary may be reused multiple times in the segmentation. For a detailed problem description, please refer to the provided link.

Salesforce MTS | Bengaluru
salesforce logo
Salesforce
MTS IBengaluru4.5 yearsRejected
October 24, 202589 reads

Summary

I interviewed for a MTS role at Salesforce in Bengaluru. After clearing an OA, I had one technical round with two coding questions, but I was ultimately rejected because I ran out of time.

Full Experience

The recruiter reached out to me for a MTS position at Salesforce in Bengaluru. I first completed an Online Assessment. A couple of weeks later, I received an invite for the interview round.

My first and only round consisted of two coding questions that needed to be solved within an hour. I unfortunately ran out of time and was unable to complete both, leading to a rejection.

Interview Questions (2)

Q1
Minimum Length Subarray with K Unique Elements
Data Structures & Algorithms

Variation of Subarrays with K Different Integers. The specific question was to find the left and right index for the minimum length subarray with exactly k unique elements.

Q2
Koko Eating Bananas
Data Structures & Algorithms

The classic Koko Eating Bananas problem.

Salesforce OA Experience | Rejected
salesforce logo
Salesforce
Rejected
October 12, 2025105 reads

Summary

I recently completed a HackerRank Online Assessment for Salesforce, which involved solving two algorithmic problems within a 75-minute timeframe. Unfortunately, I was rejected.

Full Experience

I took the Salesforce Online Assessment on HackerRank, which presented two coding challenges. I had 75 minutes to complete both problems. After submitting my solutions, I later received a rejection.

Interview Questions (2)

Q1
Longest Common Subsequence and Substring
Data Structures & AlgorithmsMedium

Given two strings x and y, return both:

  • The length of their Longest Common Subsequence (LCS).
  • The length of their Longest Common Substring.

Example:

Input: x = "abcde", y = "abfce"
Output: 
LCS length = 3   // "abe" or "ace"
Longest Common Substring length = 2   // "ab"
Q2
String Compression (Character Count)
Data Structures & AlgorithmsMedium

Given a string s, compress it such that consecutive duplicate characters are replaced by the character followed by the count of its repetitions.

If a character appears only once consecutively, just keep the character as it is.

Return the compressed string.

Input: s = "abbcccd"
Output: "ab2c3d"

Explanation:
'a' → single → "a"
'b' → repeated twice → "b2"
'c' → repeated thrice → "c3"
'd' → single → "d"

SalesForce OA
salesforce logo
Salesforce
Ongoing
September 29, 2025110 reads

Summary

I recently completed the SalesForce Online Assessment which consisted of two coding challenges: a custom text classification problem and a standard LeetCode problem. I am currently awaiting results for this round.

Full Experience

I just completed the SalesForce Online Assessment. It was hosted on HackerRank and presented two distinct coding problems. The first problem involved designing a text classification system to identify spam based on a given list of spam words and a specific count threshold, requiring careful consideration of case-sensitivity and word counting. The second challenge was a direct LeetCode problem, 'Delete and Earn'. I'm currently awaiting results for this round and will share updates on subsequent stages.

Interview Questions (2)

Q1
Text Classification for Spam Detection
Data Structures & Algorithms

A classification system evaluates whether given texts are spam based on a list of spam words.

A text is labeled “spam” if it contains at least two spam words (each occurrence of a spam word in the text counts toward the total).

Spam word matching is case-sensitive.

Example:

texts = {
    "This is a limited offer just for you",
    "Win cash now! Click here to claim your prize",
    "Hello friend, just checking in",
    "Congratulations! You have won a free gift"
};

spamWords = { "offer", "cash", "Click", "prize", "Congratulations", "free" };

Output: ["not_spam", "spam", "not_spam", "spam"]

Function Signature:

vector<string> classifyTexts(vector<string> texts, vector<string> spamWords);

Input:

  • texts: a list of strings (the texts to evaluate).
  • spamWords: a list of strings (the spam words).

Output:

A list of strings, each either "spam" or "not_spam" for each text.

Constraints:

  • 1 ≤ n ≤ 10^3 (number of texts)
  • 1 ≤ k ≤ 10^5 (number of spam words)
  • 1 ≤ len(text) ≤ 10^5
  • 1 ≤ len(spamWord) ≤ 10^5
  • Combined length of all spam words does not exceed 10^7

Q2
Delete and Earn
Data Structures & AlgorithmsMedium

Given an integer array nums, you can perform operations. In one operation, you pick any nums[i], delete it, and earn nums[i] points. Afterwards, you must delete every element equal to nums[i] - 1 and every element equal to nums[i] + 1. The goal is to find the maximum points you can earn by applying this operation any number of times.

Salesforce || MTS || Got Rejected
salesforce logo
Salesforce
MTS IRejected
August 14, 202537 reads

Summary

I interviewed for the MTS role at Salesforce. After clearing an online assessment, I faced a challenging DSA problem in the first technical round, which I couldn't solve optimally, leading to my rejection.

Full Experience

I recently completed the interview process for a MTS role at Salesforce. The initial stage was an Online Assessment which included two coding questions: one was a map-based problem with simple logic, and the other involved a straightforward sliding window approach. I successfully solved both problems, which qualified me for the next round.

The subsequent stage was Round 1, primarily focused on Data Structures and Algorithms. The specific question I was given was titled "Maximum Knowledge After Attending K Conferences". Regrettably, I was unable to develop an optimal solution and solve the problem completely within the allocated time during the interview, which ultimately led to my rejection after this round.

Interview Questions (1)

Q1
Maximum Knowledge After Attending K Conferences
Data Structures & Algorithms

The problem presented was titled "Maximum Knowledge After Attending K Conferences". While the exact problem statement wasn't detailed in the post, the context suggests it was a DSA optimization problem involving selection or scheduling to maximize knowledge gain over K conferences. More detailed problem context can be found via the provided link.

Salesforce | PMTS | Aug 2025 | Offer
salesforce logo
Salesforce
PMTSBangalore13 years
August 13, 20255 reads

Summary

I interviewed for the PMTS role at Salesforce, going through 4 rounds including Hiring Manager, two System Design rounds, and a Coding round, and received an offer.

Full Experience

Total Rounds : 4

Round 1(Hiring Manager) :

1. Discussion around prior experience and past projects. 
2. Was asked to walkthrough the architecture of one of the complex projects worked so far. Questions around the design decisions made, cost consideration etc.
3. Questions around the execution strategy of a project that requires collaboration. Strategy to get things prioritized with stakeholders etc.

Round 2 (1 hour, System Design) :

1. Design a system that delivers the campaign emails. There could be upto 100K emails to be sent per campaign. There could be millions of campaigns in total.

Round 3 (1 hour, System Design) :

1. Design a system like APNS/FCM that could deliver billions of push notifications. Handle the priority notifications like transactional notifications vs marketing notifications.
2. Focus was on push vs pull model for notification delivery, DB choices and how the system will scale to deliver billions of notifications.

Round 4 (1 hour, Coding) :

1. Design a LFU Cache. Expectation was to write the working code and run it.

Interview Questions (5)

Q1
Discuss Architecture of a Complex Project
Other

Walkthrough the architecture of one of the complex projects you've worked on, discussing design decisions made and cost considerations.

Q2
Project Execution & Stakeholder Prioritization
Behavioral

Discuss the execution strategy of a project requiring collaboration and how to prioritize tasks with stakeholders.

Q3
Design a Campaign Email Delivery System
System Design

Design a system that delivers campaign emails. It should handle up to 100K emails to be sent per campaign and millions of campaigns in total.

Q4
Design a Push Notification System (APNS/FCM-like)
System Design

Design a system like APNS/FCM that could deliver billions of push notifications. The system should handle priority notifications, differentiating between transactional and marketing notifications. Focus was on push vs pull model for notification delivery, DB choices and how the system will scale to deliver billions of notifications.

Q5
Design LFU Cache
Data Structures & AlgorithmsHard

Design a Least Frequently Used (LFU) Cache. Expectation was to write the working code and run it.

Salesforce | SMTS | Interview Experience | Aug 2025
salesforce logo
Salesforce
MTS IIBangalore6 years
August 6, 20255 reads

Summary

I interviewed for the SMTS role at Salesforce in August 2025, undergoing an Online Assessment, Data Structure & Algorithms round, High-Level Design, and a Hiring Manager round. I successfully navigated the technical challenges, received positive feedback for the system design, and am now awaiting the final decision.

Full Experience

Salesforce SMTS Interview loop (Aug 2025)

YOE: 6 Yrs Current Company: Reputable Tech Company Location: Bangalore

Round 0 (July last week):

Online Assessment: Solved both the problems successfully. And got a call from recruiter that I have cleared this round and he will contact me for the next rounds

Question 1:
A classification system evaluates whether given texts are spam based on a list of spam words.
A text is labeled “spam” if it contains at least two spam words (each occurrence of a spam word in the text counts toward the total).
Spam word matching is case-sensitive.

Example:
texts = {
    "This is a limited offer just for you",
    "Win cash now! Click here to claim your prize",
    "Hello friend, just checking in",
    "Congratulations! You have won a free gift"
};

spamWords = {
    "offer", "cash", "Click", "prize", "Congratulations", "free"
};

Output:
["not_spam", "spam", "not_spam", "spam"]


Function Signature:
vector<string> classifyTexts(vector<string> texts, vector<string> spamWords);

Input:
texts: a list of strings (the texts to evaluate).
spamWords: a list of strings (the spam words).


Output:
A list of strings, each either "spam" or "not_spam" for each text.


Constraints:
1 ≤ n ≤ 10^3 (number of texts)
1 ≤ k ≤ 10^5 (number of spam words)
1 ≤ len(text) ≤ 10^5
1 ≤ len(spamWord) ≤ 10^5
Combined length of all spam words does not exceed 10^7
Question 2:
A popular social media platform provides a feature to connect people online. Connections between users are represented as an undirected graph, where each node represents a user, and edges represent connections between users. If a user is directly or indirectly connected to another user, they can view their profile.
The network consists of nodes:
- Each pair of connections is represented from 1 to nodes.
- Each pair of connections is given by two arrays u and v, where u[i] is connected to v[i].
- The queries array contains a list of user IDs. For each user ID in the queries array, return the number of profiles that user can view.

A user can view their own profile.
The result should be an array of integers where the i-th value corresponds to the result for the i-th query.

Example
Input:
edges:
  u = [2, 1, 4, 5]
  v = [1, 3, 5, 6]
queries = [1, 5, 7]

Output:
[3, 3, 1]

Round 1 (Data Structure and Algorithms):

The interviewer was a new joinee in the Salesforce and she came with a plan to ask 2 questions and pass only when both the answers will be running for all her test cases. There was a shadow with her, who was a senior and asked a few important questions at the end.

Question 1:
Longest Substring Without Repeting Characters

leetcode: https://leetcode.com/problems/longest-substring-without-repeating-characters/description/

Note: I initially said the space complexity would be O(N) in the worst case. The shadow interviewer nudged me on this and I corrected myself as it can go at max of number of ASCII characters so O(1).

Question 2:
Vertical order traversal of a binary tree

Leetcode https://leetcode.com/problems/vertical-order-traversal-of-a-binary-tree/description/

Note: I used a map initially to store elements of each level in sorted order, which added O(log N) overhead. They pointed this out after all the test cases passed. I acknowledged and mentioned that using an unordered_map could eliminate the extra time complexity.

Feedback: They didn’t give a strong hire. The feedback was that I’m good and could be hired if I perform well in the next interviews. The overall impression was that they prefer candidates who don’t leave room for nitpicking. 😕


Round 2 (High Level Design):

Although the recruiter mentioned this would be a low-level design round, the interviewer went ahead with a high-level design question instead. After some clarification, we aligned and proceeded.

Question:
A property dealer currently owns a website that puts out the details of the properties listed by the brokers and merchants. 
The property details are added with photos, location, and basic details. As they do not wish to maintain the current system, 
They want to move it to a more scalable, faster, and secure system. 
Data consistency and performance is a major concern. They want to move from a traditional system to a cloud-based system architecture.

Ask questions, assess the architecture, review the additional requirements given below and design the whole system.

The system should be able to support all the necessary services and modules to allow users to do the following:

- Browse property listings
- Search for a property
- Perform actions like login, register, and logout
- The property in the listing page should be segregated with the merchant name

I covered:

  • Functional and non-functional requirements
  • Core entities
  • Database schema
  • API design covering all functionalities
  • High-level system design

The main focus was on deep dives

  • How do we make sure there won't be double booking (contention management) I proposed splitting the payment flow into two APIs:
POST /reserve (hold for 5 mins)  
POST /confirm (after successful payment)

And used a distributed lock (Redis) to manage contention.
  • Merchant photo uploads and global availability
  • Service segregation and individual scalability
  • Search performance <500ms (ElasticSearch + caching layer)

Follow up:

  • What if merchant has to do a bulk update for a category of property.
  • This update will involve at least 1000s of property at one time, how can we handle this roubustly.
  • Is it a good idea to keep the payment service segregated from other services? (Yes because it has to talk to 3rd party vendor and will have more strict and secure protocol to talk to them also it will have some complex reconsiliation logic which is better off segregated)
  • How CDC actually works (I used CDC to hydrate the Elastic Search)

Feedback: Got a strong hire from this round and got a go ahead for the HM round. 😁


Round 3 (HM Round):

This was an in office face to face round with Hiring Manager. The HM was a delight to talk to and made me very confirtable with him, he was very polite and a good listener.

  • Deep dive on a project you have worked on, what component you own and how did you implement that.
  • How do you get your Design doc approved
  • What are the tools, language and infra you used for the project.
  • What were the most challenging part of your project
  • If you have to do it all over again how you do your project, of you don't have any restriction of using Azure cloud and free to use open source.
  • Talked about testing strategies and migration strategies of the feature making sure the existing feature would not break
  • Rollback strategies and Monitoring dashboards and alerts.

Some standard behavioural questions:

  • How did you resolve confict in your workplace?
  • How do you handle on-call issues with example
  • How do you convince your seniors and managers for a work related confict.

This round went well in my opinion. 🤞🏼 Waiting for the final verdict. Will update the post once I hear from the recruiters.

Interview Questions (7)

Q1
Text Spam Classifier
Data Structures & Algorithms

A classification system evaluates whether given texts are spam based on a list of spam words. A text is labeled “spam” if it contains at least two spam words (each occurrence of a spam word in the text counts toward the total). Spam word matching is case-sensitive.

Example: texts = { "This is a limited offer just for you", "Win cash now! Click here to claim your prize", "Hello friend, just checking in", "Congratulations! You have won a free gift" };

spamWords = { "offer", "cash", "Click", "prize", "Congratulations", "free" };

Output: ["not_spam", "spam", "not_spam", "spam"]

Function Signature: vector classifyTexts(vector texts, vector spamWords);

Input: texts: a list of strings (the texts to evaluate). spamWords: a list of strings (the spam words).

Output: A list of strings, each either "spam" or "not_spam" for each text.

Constraints: 1 ≤ n ≤ 10^3 (number of texts) 1 ≤ k ≤ 10^5 (number of spam words) 1 ≤ len(text) ≤ 10^5 1 ≤ len(spamWord) ≤ 10^5 Combined length of all spam words does not exceed 10^7

Q2
Social Media Profile Viewer (Connected Components)
Data Structures & Algorithms

A popular social media platform provides a feature to connect people online. Connections between users are represented as an undirected graph, where each node represents a user, and edges represent connections between users. If a user is directly or indirectly connected to another user, they can view their profile. The network consists of nodes:

  • Each pair of connections is represented from 1 to nodes.
  • Each pair of connections is given by two arrays u and v, where u[i] is connected to v[i].
  • The queries array contains a list of user IDs. For each user ID in the queries array, return the number of profiles that user can view.

A user can view their own profile. The result should be an array of integers where the i-th value corresponds to the result for the i-th query.

Example Input: edges: u = [2, 1, 4, 5] v = [1, 3, 5, 6] queries = [1, 5, 7]

Output: [3, 3, 1]

Q3
Longest Substring Without Repeating Characters
Data Structures & Algorithms

Longest Substring Without Repeting Characters

Q4
Vertical Order Traversal of a Binary Tree
Data Structures & Algorithms

Vertical order traversal of a binary tree

Q5
High-Level Design for a Scalable Property Dealer Website
System DesignHard

A property dealer currently owns a website that puts out the details of the properties listed by the brokers and merchants. The property details are added with photos, location, and basic details. As they do not wish to maintain the current system, They want to move it to a more scalable, faster, and secure system. Data consistency and performance is a major concern. They want to move from a traditional system to a cloud-based system architecture.

Ask questions, assess the architecture, review the additional requirements given below and design the whole system.

The system should be able to support all the necessary services and modules to allow users to do the following:

  • Browse property listings
  • Search for a property
  • Perform actions like login, register, and logout
  • The property in the listing page should be segregated with the merchant name
Q6
Project Deep Dive and Technical Leadership
Behavioral
  • Deep dive on a project you have worked on, what component you own and how did you implement that. - How do you get your Design doc approved - What are the tools, language and infra you used for the project. - What were the most challenging part of your project - If you have to do it all over again how you do your project, of you don't have any restriction of using Azure cloud and free to use open source. - Talked about testing strategies and migration strategies of the feature making sure the existing feature would not break - Rollback strategies and Monitoring dashboards and alerts.
Q7
Conflict Resolution and On-call Handling
Behavioral
  • How did you resolve confict in your workplace? - How do you handle on-call issues with example - How do you convince your seniors and managers for a work related confict.
Salesforce chances
salesforce logo
Salesforce
MTS I3 years
July 27, 202512 reads

Summary

I interviewed with Salesforce for an MTS position, which included three rounds: two DSA/LLD rounds covering family tree hierarchy, searching a sorted matrix, and integer reversal with overflow, and one behavioral round with the Hiring Manager. The HM round felt intense due to cross-questioning, and I am unsure of the outcome.

Full Experience

Hi All,

YOE : 3 Years

I recently had a chance to interview with salesforce for MTS position. Had 3 rounds of interviews,

Round 1 : DSA/Problem solving round

  • First question was related to family tree heiriarchy, find out the siblings.- Solved fully follow up : find first second and second cousin.
  • Second question was to find a element in rowwise and column wise sorted matrix. - Solved fully

Round 2 : DSA + LLD

  • i was asked 3 DSA questions
  • Sliding window - Solved fully
  • Binary search - Solved fully
  • 1 question of finding the reverse of a integer, the catch was i had to handle integer overflow, i strugguled in this, interviewer gave a hint, then was able to catch up on it. (Overall Mixed).

Round 3: HM

  • HM asked quuestions around why do you want to change, some cross questioning and rapid fires, i got cought-up in between by contradicting my own words, had a intense HM round, Post that he asked about my curent projects and workflow of them .

Overall very formal discussion, Interviewer was expressionless and very uninterested in talking anything, related to company or anything else, a bit of rude as well. i guess, he was in the mood to reject.

No sure i will make it or not.

Does Anyone had a similar expirences with salesforce, What are the chances.

Interview Questions (5)

Q1
Family Tree Hierarchy: Find Siblings & Cousins
Data Structures & Algorithms

Given a family tree hierarchy, find the siblings of a given node. Follow-up: find the first, second, and second cousins.

Q2
Search in Row-Wise and Column-Wise Sorted Matrix
Data Structures & Algorithms

Find an element in a matrix where each row and each column are sorted.

Q3
Reverse Integer with Overflow Handling
Data Structures & Algorithms

Reverse an integer, specifically handling cases of integer overflow.

Q4
Behavioral: Why Change Jobs?
Behavioral

Questions around why I wanted to change jobs, followed by cross-questioning and rapid-fire questions.

Q5
Behavioral: Current Projects and Workflow
Behavioral

Questions about my current projects and their workflow.

Salesforce OA | LMTS
salesforce logo
Salesforce
MTS III
July 26, 20254 reads

Summary

I encountered two problems during my Salesforce Online Assessment: an easy question concerning maximum process runtime and a medium LeetCode problem about minimizing operations to reduce an integer to zero.

Full Experience

Was asked an easy question (just get max process runtime).

Along with this medium question: https://leetcode.com/problems/minimum-operations-to-reduce-an-integer-to-0/

Interview Questions (2)

Q1
Maximum Process Runtime
Data Structures & AlgorithmsEasy

The problem asks to get the maximum process runtime.

Q2
Minimum Operations to Reduce an Integer to 0
Data Structures & AlgorithmsMedium

This is a medium difficulty problem from LeetCode, available at the provided link.

Salesforce Interview Experience
salesforce logo
Salesforce
6 years
July 26, 20255 reads

Summary

I had a hiring drive interview at Salesforce on July 26th, 2025. The interview included project discussions and three DSA questions: finding the max subtree sum, max square size in a binary matrix, and max rectangle size in a binary matrix. I was rejected, and I believe it was because I couldn't fully code the third problem within the given time.

Full Experience

Hiring drive interview - 26th July 2025

Yoe - 6

Past experience: PBC

Round1:

Asked about the project details. 1 API Schema

Then 3 DSA Questions:

1. Find max Subtree sum in a binary tree.

2. Find Max Square size in Binary matrix

3. Find Max rectangle size in binary matrix.

Questions has to be solved on whiteboard.

I was to solve 1st question completely. Struggled a bit on Time and Space complexity.

For 2nd Question, I was able to provide the intuition and the approach to solve the problem. Interviewer seems satistisfied with the appraoch. So they moved to 3rd Question.

For 3rd Question, I was able to somehow come up with the approach. And explained the same, the intuition and thought process behind it. But the time was over so could write the code for it.

Verdict: Rejected

Self Analysis: I think they were expecting me to write the code for the 3rd problem as well within in the given time. Overall it was a good experience. And i think expectations are lot now a days. 1 Medium + 2 Hard Questions + Project discussion in 1 hour is a lot.

Interview Questions (3)

Q1
Find Max Subtree Sum in Binary Tree
Data Structures & AlgorithmsMedium

Find max Subtree sum in a binary tree.

Q2
Find Max Square Size in Binary Matrix
Data Structures & AlgorithmsHard

Find Max Square size in Binary matrix.

Q3
Find Max Rectangle Size in Binary Matrix
Data Structures & AlgorithmsHard

Find Max rectangle size in binary matrix.

Salesforce OA
salesforce logo
Salesforce
July 20, 20253 reads

Summary

I had a HackerRank Online Assessment for Salesforce which included two coding problems: String Compression and a modified version of Delete and Earn.

Interview Questions (2)

Q1
String Compression
Data Structures & Algorithms

The problem asked to compress an array of characters. You are given an array of characters chars, compress it using the following algorithm:

Begin with an empty string s. For each group of consecutive repeating characters in chars:

If the group's length is 1, append the character to s.
If the group's length is greater than 1, append the character, then append the group's length.
The compressed string s should not be returned separately, but instead be stored in the input chars array. You must modify the input array in-place and use only O(1) extra space.

Example 1:
Input: chars = ["a","a","b","b","c","c","c"]
Output: Return 6, and the first 6 characters of the input array should be: ["a","2","b","2","c","3"]
Explanation: "aa" is replaced by "a2". "bb" is replaced by "b2". "ccc" is replaced by "c3".

Problem link: https://leetcode.com/problems/string-compression/description/

Q2
Modified Delete and Earn
Data Structures & Algorithms

I encountered a modified version of the 'Delete and Earn' problem. The base problem is as follows:

You are given an integer array nums. You want to form a new array by performing some operations on nums. In each operation, you pick any nums[i] and delete it, and you earn nums[i] points. After deleting nums[i], you must also delete all elements equal to nums[i] - 1 and all elements equal to nums[i] + 1.

Return the maximum number of points you can earn.

Problem link for the base problem: https://leetcode.com/problems/delete-and-earn/description/

Salesforce OA | SMTS
salesforce logo
Salesforce
MTS IIIndia6 years
July 8, 20254 reads

Summary

I recently completed an Online Assessment for an SMTS position at Salesforce India after cold emailing recruiters. The OA consisted of two specific coding problems, and I cleared it, moving on to F2F rounds.

Full Experience

Hi Folks,

YOE: 6 Currently SSE @ Walmart

Recently gave OA for SMTS position at Salesforce India. Got the OA link after cold emailing a bunch of salesforce recruiters.

#1: Minimum Operations to Zero (Same as LeetCode problem #2571.) You are given an integer n. In one operation, you can either add or subtract any power of 2 (i.e., ±2⁰, ±2¹, ±2², ..., ±2ᵏ) to/from n.

Write a function that returns the minimum number of such operations required to reduce n to 0. public static int getMinOperations(int n)

Input: A single integer n (1 ≤ n ≤ 10⁹) Output: An integer representing the minimum number of operations to reduce n to 0.

Example: Input: 21 Output: 3

Explanation: 21 → 20 (subtract 1 = 2⁰)
20 → 16 (subtract 4 = 2²)
16 → 0 (subtract 16 = 2⁴)

#2: Integrity Score A data packet is represented as a string of lowercase English letters. The integrity score of the packet is defined as the number of substrings whose character values sum to a number divisible by the length of the substring.

Each character is assigned a value as follows: a,b -> 1 c,d,e -> 2 f,g,h -> 3 i,j,k -> 4 l,m,n -> 5 o,p,q -> 6 r,s,t -> 7 u,v,w -> 8 x,y,z -> 9

Write a function that returns the integrity score of the packet. public static int integrityScore(String dataPacket)

Input: A string dataPacket consisting of lowercase English letters (1 ≤ length ≤ 10⁵) Output: An integer representing the integrity score.

Example: Input: "cat" Output: 4

Solution:

public static int integrityScore(String dataPacket) {
    int n = dataPacket.length();
    int[] prefixSum = new int[n + 1];
    int count = 0;

    // Build prefix sum using custom mapping: 'a' = 1 etc
    for (int i = 0; i < n; i++) {
        char ch = dataPacket.charAt(i);
        prefixSum[i + 1] = prefixSum[i] + getValue(ch);
    }

    // Check all substrings
    for (int start = 0; start < n; start++) {
        for (int end = start + 1; end <= n; end++) {
            int length = end - start;
            int sum = prefixSum[end] - prefixSum[start];
            if (sum % length == 0) {
                count++;
            }
        }
    }

    return count;
}
  private static int getValue(char ch) {
    return switch (ch) {
      case 'a','b' -> 1;
      case 'c','d','e' -> 2;
      case 'f','g','h' -> 3;
      case 'i','j','k' -> 4;
      case 'l','m','n' -> 5;
      case 'o','p','q' -> 6;
      case 'r','s','t' -> 7;
      case 'u','v','w' -> 8;
      case 'x','y','z' -> 9;
      default -> 0;
    };
  }

Cleared and asked to appear for F2F rounds.

Interview Questions (2)

Q1
Minimum Operations to Zero
Data Structures & Algorithms

(Same as LeetCode problem #2571.) You are given an integer n. In one operation, you can either add or subtract any power of 2 (i.e., ±2⁰, ±2¹, ±2², ..., ±2ᵏ) to/from n.

Write a function that returns the minimum number of such operations required to reduce n to 0. public static int getMinOperations(int n)

Input: A single integer n (1 ≤ n ≤ 10⁹) Output: An integer representing the minimum number of operations to reduce n to 0.

Example: Input: 21 Output: 3

Explanation: 21 → 20 (subtract 1 = 2⁰)
20 → 16 (subtract 4 = 2²)
16 → 0 (subtract 16 = 2⁴)

Q2
Integrity Score
Data Structures & Algorithms

A data packet is represented as a string of lowercase English letters. The integrity score of the packet is defined as the number of substrings whose character values sum to a number divisible by the length of the substring.

Each character is assigned a value as follows: a,b -> 1 c,d,e -> 2 f,g,h -> 3 i,j,k -> 4 l,m,n -> 5 o,p,q -> 6 r,s,t -> 7 u,v,w -> 8 x,y,z -> 9

Write a function that returns the integrity score of the packet. public static int integrityScore(String dataPacket)

Input: A string dataPacket consisting of lowercase English letters (1 ≤ length ≤ 10⁵) Output: An integer representing the integrity score.

Example: Input: "cat" Output: 4

Salesforce | MTS | Bangalore | Selected
salesforce logo
Salesforce
MTS IBangalore3.3 years
July 8, 20254 reads

Summary

I interviewed for the MTS role at Salesforce in Bangalore and was selected. The interview loop included an OA, a DSA round, a System Design round focused on HLD/LLD for a sign-up/login system for a billion users, and a Managerial round with system design and behavioral questions.

Full Experience

Salesforce MTS Interview loop (Mar, 2025)

YOE: 3.3 Yrs Current Company: Reputbable Fintech Location: Bangalore

Round 0:

Hacker Rank (OA) Haven't remembered questions.
But the questions were pretty diffuclt and need 80% cut-off.

Got call from HR after a week, for further rounds.

Round 1: (DSA)

Can't able to recal, the exact questions asked. But one was based on Priority Queue (LC Easy - Med) and another was graph (LC Med).

Solved it with O(n) space & runtime complexity. Missed an edge case alone, but due to time constrainst, the interviewer said, he is okay with above solution.


Round 2: (Design)

Started with asking to design HLD for sign up and log in page, for billion users and everyone will have unqiue username, started with multiple approach and then finally setlled with bloom filter and discussed more on that.

Then for follo up he asked to do LLD for the above and yeah did that also.

The round went very well, and missed few points in LLD. Self Rating: (4/5)


Round 3: (Manager Round) (IN-PERSON)

Got a Call from HR, and told to come to either Banglore/Hyderabad office for final round.

Director started by asking me to draw some system design for the given requirements, not completly but crisp.

And then asked a lot of Behavioral and culture fit questions. Some examples:

  • How will u approach the work
  • How will u react to PR comments
  • How will handle critisim from seniors
  • How will u react to design changes.

After 5 days I got a call from HR and told I've made it.

Interview Questions (5)

Q1
Design HLD & LLD for Sign Up/Log In (Billion Users)
System Design

Design High-Level Design (HLD) for a sign-up and log-in page for a billion users, where everyone will have a unique username. Discuss multiple approaches and then finally settle with Bloom Filter and discuss it more. Follow up with Low-Level Design (LLD) for the above.

Q2
How will you approach the work?
Behavioral

How will you approach the work?

Q3
How will you react to PR comments?
Behavioral

How will you react to PR comments?

Q4
How will you handle criticism from seniors?
Behavioral

How will you handle criticism from seniors?

Q5
How will you react to design changes?
Behavioral

How will you react to design changes?

Salesforce SMTS | OA
salesforce logo
Salesforce
MTS II
July 8, 20254 reads

Summary

I encountered a challenging array problem during my Salesforce Online Assessment where I had to find the minimum elements to delete to make an array 'almost sorted', meaning at most one element deletion makes it perfectly sorted. I only passed 5 out of 13 test cases.

Full Experience

Get min. elements to be deleted to make array almost sorted. Almost sorted means- we can delete atmost 1 element to make it perfectly sorted.

Was only able to pass 5 of 13 tests :(

P.S : not solvable by chatGpt/Gemini.

Screenshot 2025-07-08 at 8.16.27 AM.png

WhatsApp Image 2025-07-08 at 08.15.09.jpeg

#Salesforce #OA

Interview Questions (1)

Q1
Minimum Elements to Delete to Make Array Almost Sorted
Data Structures & AlgorithmsHard

Get min. elements to be deleted to make array almost sorted. Almost sorted means- we can delete atmost 1 element to make it perfectly sorted.

Salesforce | Fullstack Software Developer | San Francisco
salesforce logo
Salesforce
Fullstack Software DeveloperSan Francisco, CA
June 22, 20255 reads

Summary

I interviewed for a Fullstack Software Developer role at Salesforce in San Francisco, which consisted of four rounds including coding, HackerRank walkthrough, and low-level design. I was ultimately rejected.

Full Experience

Company: Salesforce Role: Software Developer - Fullstack Location: San Francisco, CA Interview Dates: 30th & 31st January 2025


Interview Process (4 Rounds — 45 mins each, included behavioral questions):

Round 1 — HackerRank Walkthrough: Walked through my solutions from the initial online HackerRank test. The interviewer asked me to explain my approach, discuss edge cases, and suggest possible optimizations.

Round 2 — Coding: Given two dates as input, implement a function to calculate the difference between them in days.

Round 3 — Coding: Classic problem: Check if two given strings are anagrams.

Round 4 — Low-Level Design & Whiteboard Coding: Discussed how to structure cron-like functions to run scheduled jobs.


Decision: Rejected

Interview Questions (3)

Q1
Calculate Date Difference in Days
Data Structures & Algorithms

Given two dates as input, implement a function to calculate the difference between them in days.

Q2
Check if Two Strings are Anagrams
Data Structures & AlgorithmsEasy

Classic problem: Check if two given strings are anagrams.

Q3
Low-Level Design for Cron-like Scheduler
System Design

Discussed how to structure cron-like functions to run scheduled jobs.

Salesforce Interview Experience | LMTS | April 2025 | Offer
salesforce logo
Salesforce
MTS III
June 18, 20254 reads

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!

Compensation Details

Verdict: Offer Rejected

Interview Questions (9)

Q1
Check Number Appearance Before/After
Data Structures & Algorithms

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).

Q2
Sweeps to Sort Binary Array After Updates
Data Structures & Algorithms

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.

Q3
K-th Greatest Element in Subarrays
Data Structures & Algorithms

Find the K-th greatest element for every subarray ranging from size K to N.

Q4
Partition Negatives and Positives In-Place
Data Structures & Algorithms

Reorder an array with both negative and positive numbers to place all negatives first, followed by positives — in-place.

Q5
Low-Level Design: Job Scheduler System
System DesignHard

Design a Job Scheduler System. Covered both LLD + HLD aspects. Focus was on writing LLD code for job creation, persistence, dispatching, and execution flow.

Q6
High-Level Design: Memcached to Redis Migration Strategy
System DesignHard

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.

Q7
K-Tolerant Palindrome
Data Structures & Algorithms

Check if a string is a k-tolerant palindrome (can delete at most k characters to make it a palindrome).

Q8
High-Level Design: Distributed Priority Queue
System DesignHard

Design a Distributed Priority Queue for job processing with multiple consumers.

Q9
Behavioral: Project Deep Dives and Leadership Principles
Behavioral

Project deep dives and leadership principle-style questions focused on ownership, technical decision-making, and collaboration.

Salesforce | MTS (SDE-2) | Interview Experience | Rejected
salesforce logo
Salesforce
MTS (SDE-2)Bangalore3.1 years
June 8, 20253 reads

Summary

I interviewed for a MTS (SDE-2) role at Salesforce in Bangalore and went through multiple DSA and behavioral rounds. Despite performing well in DSA, I was ultimately rejected due to mixed reviews from the managerial/behavioral rounds.

Full Experience

Salesforce MTS Interview loop (Mar, 2025)

YOE: 3.1 Yrs
Current Company: Reputbable Fintech
Location: Bangalore

Round 0 (March last week):
Hacker Rank (OA) Haven't remembered questions.
But the questions were pretty diffuclt and need 80% cut-off.
Got call from HR after a week, for further rounds.

Round 1: (DSA) (1st week of April)

DSA: Product of Array except (LC Medium)
Solved it with O(n) space & runtime complexity.

DSA: Minimum Window Substring (LC Hard)
Solved it with O(n) space & runtime complexity.
Missed an edge case alone, but due to time constrainst, the interviewer said, he is okay with above solution.

--

Round 2: (DSA) (1st week of April, Same day as Round 2)

DSA: A problem given with stream of event objects and print it in the order of end time. Solved using two hashmaps. Tricky question but i would say it is LC Easy.
Solved it in O(n) & O(n) space & time complexity.

DSA: Variation of Daily Temperature LC Medium.
Solved it in O(n) & O(n) space & time complexity.

The round went very well, and answered all the problems with edge cases.
Self Rating: (5/5)

--
Round 3: (Tech + Manager Round) (1.5hr) (IN-PERSON) (2nd week of April)

Got a Call from HR, and told to come to either Banglore/Hyderabad office for final round.

Two people (SMTS & Director) were sitting in a conference room.

SMTS (DSA Round)
A Tree problem, where convert the given sorted list to balanced binary tree. Variation of List to Tree LC Medium. Need to write the code/algorithm in the white board.

Solved it in O(n) & O(n) space & time complexity.

Director (Behavioral Round)
He asked lot of Behavioral and culture fit questions. Some examples:

  • How will u approach the work
  • How will u react to PR comments
  • How will handle critisim from seniors
  • How will u react to design changes.

The round went well, I aced the DSA, but Behavioral went okayish.

--
Round 4: (Manager Round) (1hr) (3rd week of April)

Got a Call from HR, and she told, u got mixed reviews from past manager round, but very postive response from DSA round. So she went ahead and scheduled another manager road. He started with current project and how did u designed the system and Again He asked lot of Behavioral and culture fit questions.

--

I thought I made it, but unformatently I got rejected. These behavioruial rounds are always tricky, don't know what they are expecting or how they will intrept our answers.

Interview Questions (9)

Q1
Product of Array Except Self
Data Structures & AlgorithmsMedium

Given an integer array nums, return an array answer such that answer[i] is equal to the product of all the elements of nums except nums[i]. The product of any prefix or suffix of nums is guaranteed to fit in a 32-bit integer. You must write an algorithm that runs in O(n) time without using the division operator.

Q2
Minimum Window Substring
Data Structures & AlgorithmsHard

Given two strings s and t of lengths m and n respectively, return the minimum window substring of s such that every character in t (including duplicates) is included in the window. If there is no such substring, return the empty string "". The testcases will be generated such that the answer is unique.

Q3
Process Events from Stream by End Time
Data Structures & AlgorithmsEasy

Given a stream of event objects, process and print them in the order of their end time. I solved it using two hashmaps.

Q4
Daily Temperatures (Variation)
Data Structures & AlgorithmsMedium

A variation of the Daily Temperatures problem. Given an array of integers temperatures represents the daily temperatures, return an array answer such that answer[i] is the number of days you have to wait after the ith day to get a warmer temperature. If there is no future day for which this is possible, keep answer[i] == 0 instead.

Q5
Convert Sorted List to Balanced Binary Search Tree (Variation)
Data Structures & AlgorithmsMedium

Given the head of a singly linked list where elements are sorted in ascending order, convert it to a height-balanced binary search tree. I needed to write the code/algorithm on a whiteboard. This was a variation of the LeetCode problem.

Q6
Approach to Work
Behavioral

How will you approach your work?

Q7
Reacting to PR Comments
Behavioral

How will you react to Pull Request comments?

Q8
Handling Criticism from Seniors
Behavioral

How will you handle criticism from seniors?

Q9
Reacting to Design Changes
Behavioral

How will you react to design changes?

Salesforce Interview | Team Matching Phase
salesforce logo
Salesforce
Full Stack Software Engineer
June 2, 20254 reads

Summary

I successfully navigated multiple interview rounds at Salesforce for a Full Stack Software Engineer role, including an Online Assessment, two Super Day virtual rounds, and two Super Day onsite rounds, before moving to the team matching phase.

Full Experience

I have been moved to Team Matching Round. If someone can explain - what are the next steps and what to expect in there? Recruiter has just told me that if Team liked your resume, official offer letter would be the next step.

Here’s a quick summary of my interview journey so far:

Position: Full Stack Software Engineer

Interview Experience So Far:

Hiring Manager Call (45 mins)

Covered my resume in detail and included a few behavioral questions (around 3, with follow-ups).

I followed the STAR format for my answers and had 4–5 situations prepared. That really helped, and I cleared this round smoothly.

Got confirmation within 2 days to move forward.

Online Assessment

Consisted of 2 LeetCode-style questions:

  • Almost Sorted Array
  • Minimum Substitutions to Ensure No Two Adjacent Characters Are the Same

Both were on the easier side. I solved them successfully and moved to the next phase.

Super Day – Virtual Rounds

Round 1: System Design

  • Design a 911 Call Handling System.

Round 2: Full Stack/Craft Round

While the role is backend-focused, the team also uses React extensively, so they tested some frontend knowledge.

  • Discussed API design best practices, with follow-ups based on my answers.
  • Coding Task: Implement a Traffic Light System in an infinite loop.

Initially gave a recursive JS solution, and later refined it to use Promises with Async/Await after a discussion with the interviewer.

Super Day 2 – Onsite Rounds

Round 1: System Design

  • Design Real time Bidding System (Auction System)

Round 2: LLD + Leetcode

  • Leetcode was easy question - on the lines of Anagram however character involved was everything a user can type from keyboard with single stroke
  • LLD : Cron Job Parser So Given a string which suggest when cron job would run "0/5 8,12 1 * 1-5" {"Minute", "Hour", "Day", "Month", "DayOfWeek"} Expand this expression to be CRON Job parser

Interview Questions (7)

Q1
Almost Sorted Array
Data Structures & AlgorithmsEasy

Almost Sorted Array

Q2
Minimum Substitutions to Ensure No Two Adjacent Characters Are the Same
Data Structures & AlgorithmsEasy

Minimum Substitutions to Ensure No Two Adjacent Characters Are the Same

Q3
Design a 911 Call Handling System
System Design

Design a 911 Call Handling System.

Q4
Implement a Traffic Light System
Data Structures & Algorithms

Implement a Traffic Light System in an infinite loop.

Q5
Design Real-time Bidding System
System Design

Design Real time Bidding System (Auction System)

Q6
Anagram-like problem with broad character set
Data Structures & AlgorithmsEasy

A LeetCode easy question on the lines of Anagram, however character involved was everything a user can type from keyboard with single stroke.

Q7
Cron Job Parser
System Design

Design a Low-Level Design (LLD) for a Cron Job Parser. Given a string which suggests when a cron job would run, e.g., "0/5 8,12 1 * 1-5" (representing {Minute, Hour, Day, Month, DayOfWeek}), expand this expression to be a CRON Job parser.

Preparation Tips

I followed the STAR format for my answers and had 4–5 situations prepared. That really helped, and I cleared this round smoothly.

Salesforce LMTS Onsite Coding
salesforce logo
Salesforce
MTS III
May 26, 20255 reads

Summary

I had an onsite coding interview at Salesforce for an LMTS role, which involved two coding problems to be solved in 45 minutes after an initial discussion about my projects. I barely managed to solve the first problem and could only outline the algorithm for the second due to time constraints.

Full Experience

There were two problems to be solved within 45 mins irrespective of you solving the first one or not

Initially we wasted 15 mins talking about my projects and all I dont know why that was needed.

Q1 : https://leetcode.com/problems/fruit-into-baskets/description/ Q2: https://leetcode.com/problems/zigzag-conversion/description/

Solved first one barely , gave the algo for the second one and barely could write the code because of the time.

Interview Questions (2)

Q1
Fruit Into Baskets
Data Structures & Algorithms
Q2
Zigzag Conversion
Data Structures & Algorithms
Salesforce SMTS(sde-3) interview experience Feb 2025
salesforce logo
Salesforce
SMTS (SDE-3)5.5 years
May 13, 20252 reads

Summary

I interviewed for an SMTS (SDE-3) role at Salesforce in Feb 2025, clearing the problem-solving and LLD/HLD rounds but ultimately receiving a 'No Hire' due to an inability to provide a working Merge Sort implementation.

Full Experience

Current Designation :SDE-2
Years of experience : 5.5

Round 1: Elimination Round - Problem Solving
Technical Problem:
https://leetcode.com/problems/longest-substring-without-repeating-characters/description/
https://leetcode.com/problems/serialize-and-deserialize-binary-tree/description/
Wasn't able to provide full working solution for the second problem, but explain my approach
Verdict : hire

Round2(LLD + HLD)
Was asked to create an LLD for Zomato Food delivery app
taking care of core functionalities, follow up question was asked about tracking of order. what table you will create to track order.
Also some high level design question around the same, how the notification will be sent to the user and basically a verbal explanation of how the HLD of zomato food delivery app will work.
how the closest delivery partner assigning will take place (proximity service Alex xu book)
Verdict : hire

Round 3(DS + Database schema design + Cultural)
Was asked to implement merge sort implementaiton(wasn't able to provide the working implmentation)
Was asked to desgin database schema. The problem statement was like this.
You have multiple rule conditions. The user can select multiple rule conditions from the UI and then these rules will be applied.
The user can select rules like (c1&c2)||c3

The ask was how i am gonna store the data in database and fetch the data from it.
The interviewer was expected to store groups of conditions as an entity, but i reccomending the solution in which each condition will be an entity
Overall i felt interview was fine with the schema design

Questions asked in culture
The time when you did a mistake and messed up the task ? what was the reaction of your team lead and what steps you took to avoid such mistakes.
The time when you received a feedback from someone ? what was your reaction ? what steps did you take regarding that feedback.

Verdict : No hire, because i wasn't able to provide merge sort implemnetation

Interview Questions (8)

Q1
Longest Substring Without Repeating Characters
Data Structures & AlgorithmsMedium

Find the length of the longest substring in a given string without repeating characters.

Q2
Serialize and Deserialize Binary Tree
Data Structures & AlgorithmsHard

Design an algorithm to serialize and deserialize a binary tree.

Q3
LLD for Zomato Food Delivery App
System Design

Design a Low-Level Design (LLD) for a Zomato Food Delivery app, focusing on core functionalities. Follow-up questions included: What tables would you create to track orders?

Q4
HLD for Zomato Food Delivery App
System Design

Design a High-Level Design (HLD) for a Zomato Food Delivery app, including how notifications would be sent to users and how closest delivery partners would be assigned (proximity service, referencing Alex Xu's book).

Q5
Implement Merge Sort
Data Structures & AlgorithmsMedium

Implement the Merge Sort algorithm.

Q6
Database Schema Design for Rule Engine
System Design

Design a database schema for a rule engine where users can select multiple rule conditions (e.g., (c1 & c2) || c3) from a UI, and these rules will be applied. The task was to determine how to store and fetch this data. The interviewer expected storing groups of conditions as an entity, but I recommended a solution where each condition would be an entity.

Q7
Behavioral: Mistake and Team Lead's Reaction
Behavioral

Describe a time when you made a mistake and messed up a task. What was your team lead's reaction, and what steps did you take to avoid such mistakes in the future?

Q8
Behavioral: Receiving Feedback
Behavioral

Describe a time when you received feedback from someone. What was your reaction, and what steps did you take regarding that feedback?

Salesforce Online Assesment && Interview Experience|| AMTS
salesforce logo
Salesforce
AMTS
May 11, 20254 reads

Summary

I completed an Online Assessment and two interview rounds for the AMTS role at Salesforce, which led to an offer. The process included a DSA-focused round with two coding questions and a behavioral round based on my past experiences.

Full Experience

Prior Experience

  • 3 months Intern at Agoda(Gurugram)
  • 3 months Intern at Wayfair(Us based Ecommerce)
  • 5 months full time experience

Process

Online Assesment followed by 2 rounds of interview. 1 st round Interview: Completely DSA Based on hackerrank platform. Interviewer had the access too.I was given 2 DSA Based one was hard and other one was medium-hard.I was expected to code the optimised approach for all the question and passing the testcases.

Question 1: Was related to Sliding window optimised approach used dequeue data structure. Question 2: Binary tree parent child sum with little tweak.I was expected to even write treenode class and construct a binary tree on own.

2 nd round Interview: Was based on past Experiences && Internship.I was cross questioned on certain topics so I had to choose what I say wisely.

Overall

I had given the Online Assesment in September.Received the Interview call in Mid of March.Two rounds were held in span of two weeks.Got the offer after 1 week of getting Interviewed.

Interview Questions (2)

Q1
Sliding Window with Deque
Data Structures & Algorithms

A DSA-based question related to a sliding window problem, requiring an optimized approach using a deque data structure. I was expected to code the optimized solution and pass all test cases.

Q2
Binary Tree Parent Child Sum with Tweak
Data Structures & Algorithms

A DSA-based question involving a binary tree, specifically a variation of a parent-child sum problem. I was also expected to write the TreeNode class and construct the binary tree myself.

Salesforce | MTS | OA | problem 2025
salesforce logo
Salesforce
MTS I2 yearsNo Offer
May 10, 202533 reads

Summary

I recently participated in an Online Assessment for a MTS role at Salesforce, which involved solving two coding problems. I've detailed one of these problems, including multiple approaches and their time complexities.

Full Experience

I applied for a MTS position at Salesforce and received a referral, which led me to the interview process. The first stage was a technical online assessment, where I had to solve two coding problems. I'm providing a detailed account of the second problem I encountered, along with different code implementations and a discussion of their complexities. Following the OA, there was a second round, which was a standard interview. That concludes my experience with the process.

Interview Questions (1)

Q1
Count Stable Segments
Data Structures & AlgorithmsMedium

Given an integer array named capacity, I was asked to find the number of 'stable segments'. A segment [i, j] is defined as stable if the following conditions are met:

  • The segment must have at least three elements, meaning j >= i + 2.
  • The value at the start of the segment, capacity[i], must be equal to the value at the end of the segment, capacity[j].
  • Both capacity[i] and capacity[j] must be equal to the sum of all elements strictly between indices i and j (i.e., sum(capacity[k]) for all k where i < k < j).
I was asked to provide the most optimized code for this problem and was expected to pass 75-80% of the test cases, with a few test cases hidden.

SMTS | Salesforce | OA | March 2025
salesforce logo
Salesforce
MTS II
May 4, 20255 reads

Summary

I recently completed an Online Assessment for the SMTS role at Salesforce, which consisted of two coding questions. I solved both quickly, and although a recruiter reached out for an interview, it was never scheduled.

Full Experience

Recently took a Salesforce online assessment. Format: 2 coding questions, 90 mins time Questions below-

  1. https://leetcode.com/problems/string-compression

A sorted list is where all numbers are sorted in ascending order.
An almost sorted list is where when you remove one number and it becomes sorted.
Eg: 1 3 5 4 7. You can remove 4 to make it a sorted list.
Given a list of numbers, what is the **minimum** numbers you need to remove so that the final list is **almost sorted**.

Contraints expect an O(n log n) solution.

(**Hint**: Think LIS)

Solved both in ~15mins. Recruiter reached out for interview, but never scheduled. :)

Interview Questions (2)

Q1
String Compression
Data Structures & AlgorithmsMedium

Given an array of characters chars, compress it using the following algorithm: Begin with an empty string s. For each group of consecutive repeating characters in chars: If the group's length is 1, append the character to s. If the group's length is greater than 1, append the character, then append the group's length as a string. The compressed array should not be returned, but instead, the input array should be modified in-place. After compressing the input array, return the new length of the array.

Q2
Minimum Removals for Almost Sorted List
Data Structures & AlgorithmsMedium

A sorted list is where all numbers are sorted in ascending order. An almost sorted list is where when you remove one number and it becomes sorted. Eg: 1 3 5 4 7. You can remove 4 to make it a sorted list. Given a list of numbers, what is the minimum numbers you need to remove so that the final list is almost sorted. Contraints expect an O(n log n) solution. (Hint: Think LIS)

Salesforce OA SMTS | USA
salesforce logo
Salesforce
MTS IIUSAOffer
March 25, 202537 reads

Summary

I successfully completed the Hackerrank Online Assessment for a Software Member of Technical Staff (SMTS) role at Salesforce in the USA and subsequently received an offer.

Full Experience

I recently participated in the Hackerrank Online Assessment for a Software Member of Technical Staff (SMTS) position at Salesforce, located in the USA. The assessment consisted of two distinct coding challenges.

Interview Questions (2)

Q1
Subarray Product Less Than K
Data Structures & AlgorithmsMedium

Given an array of integers nums and an integer k, return the number of contiguous subarrays where the product of all elements in the subarray is strictly less than k.

Q2
Distinct Subsequences
Data Structures & AlgorithmsHard

Given two strings s and t, return the number of distinct subsequences of s which equals t.

Salesforce | SMTS | [Offered]
salesforce logo
Salesforce
MTS IIBangalore6.5 yearsOffer
January 23, 202546 reads

Summary

I successfully secured an offer for the SMTS position at Salesforce in Bangalore. The interview process spanned three rounds, including DSA, system design (HLD/LLD), and a director-level behavioral discussion, where I showcased my technical and leadership skills.

Full Experience

I recently interviewed for the SMTS (IC3) position at Salesforce, Bangalore, with 6.5 years of experience. The interview process consisted of three rounds: Data Structures & Algorithms, Low-Level and High-Level Design, and a Director round focused on career achievements and behavioral aspects.

My first round was focused on Data Structures and Algorithms. The interviewer presented two coding problems. The first was a variation similar to the Coin Change problem on LeetCode. The second problem was Search a 2D Matrix II. I solved both.

The second round was dedicated to Low-Level and High-Level Design. I was asked to design a notification service. I began by outlining the high-level architecture, detailing the various components and discussing database design. After about 40 minutes, we moved into the low-level design aspects. Here, I elaborated on class diagrams, API specifications, handling various edge cases, and incorporated relevant design patterns for such a system.

The final round was with a Director. This was a more conversational round where I discussed my career journey and highlighted my major accomplishments from my current role. We had an in-depth discussion about key projects I've worked on. Additionally, the interviewer posed several standard leadership and behavioral questions, which allowed me to demonstrate my problem-solving abilities and collaboration skills.

Interview Questions (4)

Q1
Coin Change Variation
Data Structures & Algorithms

The interviewer asked me to solve a coding problem that was similar to LeetCode's Coin Change problem.

Q2
Search a 2D Matrix II
Data Structures & Algorithms

I was asked to solve the problem directly from LeetCode, Search a 2D Matrix II.

Q3
Design a Notification Service
System Design

I was tasked with designing a notification service. The round started with a high-level design, where I detailed the system architecture, components, and database design. Following this, we deep-dived into the low-level implementation, discussing class diagrams, APIs, and handling edge cases, along with relevant design patterns used in such systems.

Q4
Career Achievements and Behavioral Questions
Behavioral

In this round, the discussion revolved around my career achievements and major accomplishments at my current employer. We also covered standard leadership and behavioral questions to assess my problem-solving and collaboration skills.

Salesforce SMTS Interview
salesforce logo
Salesforce
MTS II
January 16, 202536 reads

Summary

I interviewed for an SMTS role at Salesforce, which involved an online assessment followed by two coding rounds. The assessment and rounds featured a mix of standard LeetCode problems covering dynamic programming, tree data structures, and string manipulation, along with a custom sliding window problem.

Full Experience

My interview journey for the SMTS position at Salesforce began with an Online Assessment. The OA included the LeetCode problem 'Distinct Subsequences', and another medium-difficulty question whose specifics I couldn't recall. Following the OA, I had two distinct coding rounds.

In the first coding round, I was presented with the LeetCode problem 'Construct Quad Tree'. Additionally, there was a custom question that involved a sliding window technique. This problem required me to process a 2D list of person IDs and their card swipe times, determining the maximum number of swipes made by any single person within a specific time window.

The second coding round focused on more advanced data structure challenges. I was asked to solve 'Binary Tree Maximum Path Sum' and 'Encode and Decode Strings', both well-known problems from LeetCode.

Interview Questions (5)

Q1
Distinct Subsequences
Data Structures & AlgorithmsHard

Given two strings s and t, return the number of distinct subsequences of s which equals t. The test cases are generated so that the answer fits on a 32-bit signed integer.

Q2
Construct Quad Tree
Data Structures & AlgorithmsMedium

Given an n * n grid of 1s and 0s, construct a quad tree representation of the grid. A quad tree is a tree data structure in which each internal node has exactly four children. Quad trees are most often used to partition a two-dimensional space by recursively subdividing it into four quadrants or regions.

Q3
Max Card Swipes by Person in Window
Data Structures & AlgorithmsMedium

I was given a 2D list containing person IDs and their card swipe times in HHMM format, for example: [ ["d","0002"], ["e","0215"],["c","0808"], ["c","0809"], ["c","0829"], ["c","0850"],["c","0855"],["d","1410"],["d","1444"],["d","1508"],["d","1602"],]. The task was to identify and return the maximum number of swipes made by any single person within a specified time window (e.g., a 60-minute interval).

Q4
Binary Tree Maximum Path Sum
Data Structures & AlgorithmsHard

A path in a binary tree is a sequence of nodes where each pair of adjacent nodes in the sequence has an edge connecting them. A node can only appear in the sequence at most once. The path does not necessarily need to pass through the root. Given the root of a binary tree, return the maximum path sum of any non-empty path.

Q5
Encode and Decode Strings
Data Structures & AlgorithmsMedium

Design an algorithm to encode a list of strings to a single string. The encoded string is then decoded back to the original list of strings. The problem statement usually implies the need for a robust method to handle special characters and an arbitrary number of strings.

Salesforce | SMTS | May 2024 | Hyderabad | Reject
salesforce logo
Salesforce
MTS IIhyderabadRejected
June 17, 202436 reads

Summary

I interviewed for a SMTS role at Salesforce in May 2024 in Hyderabad. The interview process spanned multiple rounds, including a Hackerrank test, problem-solving, LLD, HLD, and a Hiring Manager round. Despite performing well in most rounds, I was ultimately rejected due to mixed feedback on my second LLD round, where I felt my use of Python might have been misaligned with the interviewer's preference for Java.

Full Experience

My journey with Salesforce began when a recruiter reached out via Instahyre for an SMTS role. I was asked to complete a Hackerrank test within two days.

Hackerrank Test:
This round featured a couple of questions that I would categorize as easy to medium LeetCode level. I encountered The Kth Factor of N and Implement Trie (Prefix Tree).

After clearing this round, I received an email scheduling two more rounds.

Problem Solving and LLD:
This round involved a problem that was described as a little extension to LeetCode's Two Sum questions. I was also asked to design a data structure to query a set of different data, optimizing for space and time complexity, which felt like a medium-level problem. Additionally, I had to create class diagrams for a Monopoly game and discuss best practices while defining an API endpoint.

LLD (Second Round):
In this round, I was given a design and coding question: implement a cart for an e-commerce website. The focus was on writing workable, easy-to-ship code while following proper design patterns. We had a detailed discussion about the reasoning behind my implementation choices.

Following these rounds, I again received a call from the recruiter confirming I had cleared and scheduling the third round for the very next day.

HLD:
This round focused on the High-Level Design (HLD) of a recommendation system. We had a healthy discussion around each aspect of the design steps.

The recruiter then informed me that they would like to proceed with the HM (Hiring Manager) round, which was scheduled a day later.

HM Round:
This was purely a managerial round. I was asked about my motivations for joining Salesforce, what I was expecting from the role, and standard behavioral questions concerning conflicts and challenges I had faced. This round felt like it went smoothly.

A few days later, I inquired about feedback and was informed of a mixed response from my second LLD round, resulting in a reject. I perceived that the interviewer was keen on a Java implementation, while I had used Python, leading to much of the LLD discussion revolving around static-typed paradigms instead of dynamic-typed ones. This experience made me feel the interview had a mixed outcome. My key takeaway was that while I performed well in other rounds, I need to concentrate more on LLD from a static-type perspective for future interviews.

Interview Questions (9)

Q1
The Kth Factor of N
Data Structures & AlgorithmsEasy

Given two positive integers n and k. A factor of an integer n is a positive integer i that divides n exactly, i.e., n % i == 0. Consider a list of all factors of n sorted in ascending order. Return the k-th factor in this list or -1 if n has less than k factors.

Q2
Implement Trie (Prefix Tree)
Data Structures & AlgorithmsMedium

Implement a trie (prefix tree) with insert, search, and startsWith methods. The trie data structure stores a set of strings, allowing for efficient prefix-based searching.

Q3
Monopoly Game Class Diagrams
System Design

Design class diagrams for a Monopoly game.

Q4
API Endpoint Design Best Practices
System Design

Discuss best practices for defining an API endpoint.

Q5
E-commerce Cart Implementation (LLD)
System Design

Implement a shopping cart for an e-commerce website. The solution should be workable, easy to ship, and follow proper design patterns. I also discussed the reasoning behind my implementation.

Q6
Recommendation System HLD
System Design

Design a High-Level Design (HLD) for a recommendation system. I had a healthy discussion around each aspect of the design steps.

Q7
Why Salesforce?
Behavioral

Discuss my motivation for wanting to join Salesforce.

Q8
Expectations for the Role
Behavioral

Share my expectations for the SMTS role.

Q9
Behavioral Questions (Conflicts & Challenges)
Behavioral

Answer behavioral questions related to conflicts and challenges I have faced.

Salesforce | SMTS | Interview Experience | May 2024 [Offer] | Referrals
salesforce logo
Salesforce
MTS II5 yearsOffer
June 9, 202426 reads

Summary

I interviewed for the Senior Member of Technical Staff (SMTS) position at Salesforce in April 2024 and successfully received an offer. The interview process involved a HackerRank screening, a Data Structures and Algorithm round, a System Design round, and a Hiring Manager behavioral round, all of which were of medium difficulty.

Full Experience

Round 1: HackerRank Screening

I completed a 60-minute HackerRank screening that featured one medium-difficulty question. I managed to solve the problem, passing all test cases successfully.

Round 2: Data Structures and Algorithm

This round began with introductions, followed by a discussion where I explained my current project. Afterward, the interviewer presented a lengthy story-style problem that, while not directly hinting at it, turned out to be a sliding window problem.

Round 3: System Design

After introductions and a brief discussion about one of my projects, I was challenged with a system design problem: 'How to design Google Docs.' I was expected to present a comprehensive design, including back-of-the-envelope calculations, identifying Single Points of Failure (SPOF), and proposing various optimizations.

Round 4: Hiring Manager Round

This was a behavioral round with the hiring manager. I was asked about my reasons for leaving my current company, why I was interested in joining Salesforce, and my expectations for the role. We also delved into my previous projects, my specific contributions to their design and development, and how I've handled conflicts and collaborated effectively with other teams.

Interview Questions (4)

Q1
Design Google Docs
System Design

Design the entire system for Google Docs. This included discussing architectural components, performing back-of-the-envelope calculations, identifying Single Points of Failure (SPOF), and proposing various optimizations.

Q2
Reasons for Leaving Current Company
Behavioral

Why are you leaving your current company?

Q3
Why Salesforce?
Behavioral

Why would you like to join Salesforce?

Q4
Project Contributions & Conflict Resolution
Behavioral

Discussion about my previous projects, my contributions to their design and development, and how I handled conflicts and collaborated with other teams.

Salesforce | MTS | Awaiting Feedback
salesforce logo
Salesforce
MTS I2.5 yearsOngoing
April 22, 202438 reads

Summary

I interviewed for the MTS role at Salesforce, undergoing several rounds focused on Data Structures & Algorithms, System Design, and behavioral aspects. I'm currently awaiting feedback on my application.

Full Experience

I recently interviewed for the MTS role at Salesforce. I have 2.5 years of experience.

Round 1: Online Assessment
This round lasted an hour and consisted of two easy-medium Data Structures and Algorithms questions. I completed this round successfully.

Round 2: Online - Data Structures & Algorithms
After a brief introduction, I was presented with two DSA questions.

  1. The first problem asked me to find K strings with the most occurrences from an array of N strings. If frequencies were equal, lexicographically lower strings were preferred, and results needed to be in decreasing order of frequency. I managed to write working code for this with some help from the interviewer.
  2. The second question was to find the number of islands using DFS. Due to time constraints, I couldn't write the full code but I explained my approach clearly.

Round 3: Online - Data Structures & Algorithms
This round also started with introductions and featured two more DSA problems.
  1. The first question was Target Sum. I initially proposed a recursive solution and then optimized it with memoization. I got a bit stuck on how to fully implement it using dynamic programming, so we moved on to the next problem without completely coding this one.
  2. The second problem was Product of Array Except Self. I discussed various approaches, starting from a brute-force method and gradually refining it to an optimal solution, which I then implemented with working code.

Round 4: Online - Hiring Manager Round
This final round began with introductions, followed by a detailed discussion about my previous projects and the experience listed on my resume. We then delved into a System Design question where I was asked to design Google Calendar. Towards the end, I asked the interviewer some questions about the work environment and team culture.

It's been a week since my last interview, and I haven't heard back from the recruiter yet. I'm currently awaiting the final decision.

Interview Questions (5)

Q1
Top K Frequent Strings with Lexicographical Tie-break
Data Structures & AlgorithmsMedium

Given an array of N strings and a positive integer K. The problem is to find K strings with the most occurrences, i.e., the top K strings having the maximum frequency. If two strings have the same frequency then the string with a lexicographically lower value should be given preference. The strings should be displayed in decreasing order of their frequencies.

Q2
Number of Islands
Data Structures & AlgorithmsMedium

Find the number of islands using DFS.

Q3
Target Sum
Data Structures & AlgorithmsMedium

Given an array of integers nums and a target integer target, you want to build an expression out of nums by adding one of the symbols '+' or '-' before each integer in nums and then concatenate all the integers. Return the number of different expressions that you can build, which evaluates to target.

For more details, refer to the LeetCode problem: Target Sum.

Q4
Product of Array Except Self
Data Structures & AlgorithmsMedium

Given an integer array nums, return an array answer such that answer[i] is equal to the product of all the elements of nums except nums[i].
You must write an algorithm that runs in O(n) time and without using the division operator.

For more details, refer to the LeetCode problem: Product of Array Except Self.

Q5
Design Google Calendar
System DesignHard

Design a system like Google Calendar, considering aspects such as scheduling events, managing notifications, user interface interactions, data storage, scalability, and concurrency.

Salesforce | SMTS | Hyderabad | 16th Dec
salesforce logo
Salesforce
MTS IIHyderabadRejected
December 18, 202341 reads

Summary

I interviewed for the SMTS role at Salesforce in Hyderabad, undergoing a HackerRank round followed by two onsite Data Structures and Algorithms rounds. My experience also included behavioral questions, and despite my performance in the technical rounds, the final verdict was a tentative status, indicating a likely rejection.

Full Experience

Round 1: HackerRank (1 hour)

This round began with two coding challenges. The first was a HackerRank problem titled What Type of Triangle, requiring me to classify triangles based on their side lengths. The second problem was from LeetCode: Search Suggestions System.

Round 2: Onsite | DSA (1 hour)

This round started with a discussion about my projects and Object-Oriented Programming (OOPs) concepts. Following this, I was presented with a LeetCode problem: Rank Transform of an Array. I successfully provided a running O(n) solution that passed all test cases on HackerRank, and I also addressed a follow-up question on space optimization for the given constraints. The final problem was a GFG question titled Count of Distinct Graphs That Can Be Formed With N Vertices. Despite receiving a hint from the interviewer, I couldn't come up with the exact solution for this particular problem.

Round 3: Onsite | DSA (1 hour)

The third round involved another LeetCode problem: Nearest Exit from Entrance in Maze. This round also included one behavioral question, though the specific details were not provided.

Verdict

After the third round, I was informed that my status was 'tentative,' which usually implies a borderline performance leading to a likely rejection. An update is expected within a week. I'm not entirely sure about the expectation, as I felt I performed well in the second round (which I believe should have been a hire) and even better in the third round (a strong hire).

Additional Info

Salesforce provided a 2k Uber voucher for my travel to their Hyderabad office. I was required to bring my own personal laptop for the interview, and breakfast was provided at the office.

Interview Questions (5)

Q1
What Type of Triangle
Data Structures & AlgorithmsEasy

Given the lengths of three sides of a triangle, determine if it is an equilateral, isosceles, or scalene triangle. Also, validate if the given side lengths can form a valid triangle.

Q2
Search Suggestions System
Data Structures & AlgorithmsMedium

Given an array of strings products and a string searchWord, design a system that suggests at most three product names from products after each character of searchWord is typed. Suggested products should have searchWord as a prefix and be lexicographically smallest. Return a list of lists of the suggested products.

Q3
Rank Transform of an Array
Data Structures & AlgorithmsEasy

Given an array of integers arr, replace each element in arr with its rank. The rank determines how large an element is compared to other elements. The rank starts from 1. If two elements are equal, their ranks must be the same. Smaller elements have smaller ranks. Return the array of ranks.

Q4
Count of Distinct Graphs That Can Be Formed With N Vertices
Data Structures & AlgorithmsHard

Determine the number of distinct (non-isomorphic) simple graphs that can be formed using N labeled vertices. This is a combinatorial problem in graph theory.

Q5
Nearest Exit from Entrance in Maze
Data Structures & AlgorithmsMedium

You are given an m x n matrix maze (0-indexed) with empty cells (represented as '.') and walls (represented as '+'). You are also given the entrance of the maze, where entrance = [entr_row, entr_col] denotes the row and column of the starting cell. Find the length of the shortest path from the entrance to the nearest exit. An exit is defined as an empty cell that is at the border of the maze. The entrance does not count as an exit. If there is no exit, return -1.

Salesforce | Gurgaon Drive | 26th Nov
salesforce logo
Salesforce
Gurgaon5 yearsRejected
December 14, 202337 reads

Summary

I recently underwent a multi-round interview process with Salesforce in Gurgaon, which included an online assessment, two DS/Algo rounds, an LLD+DSA round, an HLD+Behavioral round, and a Hiring Manager discussion. Despite receiving initial positive feedback, the recruiter eventually ghosted me, leading to an ultimate rejection.

Full Experience

I recently got a call from a Salesforce recruiter who reached out to me via LinkedIn. I showed my interest, and with over 5 years of experience, I was asked to go through an Online Assessment first.

The test was conducted on HackerRank and lasted 60 minutes. Two questions were asked:

  1. Find the Kth Factor of N
  2. Search Suggestions System
I managed to solve both questions with all test cases passing in about 20-25 minutes.

Following the OA, I was invited to the onsite rounds for face-to-face interviews in Gurgaon on November 26, 2023. Salesforce even sent an Uber voucher worth ₹2000, which was valid for one day.

Round 1: DS/Algo

The interviewer presented two challenging problems:
  1. MAXPARTY
  2. Count pairs: Given an array arr[] of length N and an integer K, the task is to count the number of pairs (i, j) such that i < j and arr[i] > K * arr[j]. This problem was similar to count inversion, like Count of Smaller Numbers After Self.
I successfully cracked the first question by identifying that it could be solved using Binary Search and a greedy approach. The interviewer asked me to write down the condition to check, which I did. For the second question, I explained that it could be solved using merge sort and detailed the logic to count such pairs. Overall, I felt I could have written the code more confidently; otherwise, I would rate my performance as average in this round.

Round 2: LLD + DSA

This round started with discussions on OOPs concepts, specifically Abstraction vs. Encapsulation, SOLID principles, and commonly used design patterns. Following that, we moved to DSA questions:
  1. Count the number of distinct contiguous substrings that are palindromes.
  2. Max Path Sum in a Binary Tree
To be honest, I wasn't prepared at all for the LLD questions. I genuinely didn't realize it was an LLD round, and I answered more in the style of a discussion rather than an interview. I don't believe the interviewer rated me higher than average here. For the first DSA question, I asked many clarifying questions, and then for some reason, the interviewer changed the question and asked the second one. I solved it quickly, and then they asked a follow-up: what if we wanted to return the path of the longest sum as well? We discussed the solution, and the interview ended there. Again, this round wasn't satisfactory; the HR had sent many folks home by this time, and I thought I would be next. However, HR called me for the next round.

Round 3: HLD + Behavioural

This round included general behavioral questions, which I cannot recall specifically. The HLD question was: How would you ensure a multi-master system with high consistency? We discussed a few solutions, and I felt this round was more of a collaborative discussion. For me, this round went well.

Round 4: HM (Hiring Manager)

This round began with introductions. The interviewer then asked 'Why Salesforce?' for which I struggled to provide a strong justification, as I come from a MAANG background. The discussion then moved to my projects and other behavioral questions, specifically focusing on what was one of the most impactful projects I had worked on and how I contributed to it.

After this round, my interviews for the day were complete. I was informed that I would receive the results within a week. I had a feeling I wouldn't make it, but I gained valuable experience from the face-to-face interviews. This experience boosted my confidence, showing that if I just brush up on my concepts more, I can crack senior-level role interviews.

[Edit 1]: I received a call after two days stating that I had positive feedback. They inquired about my current and expected compensation.

[Edit 2]: As of December 14, 2023, I was still waiting for the recruiter to follow up. I tried contacting them once but received no positive response.

[Edit 3]: By January 24, 2024, the recruiter had ghosted me and never got back.

Interview Questions (8)

Q1
The Kth Factor of N
Data Structures & AlgorithmsMedium

I was asked to find the k-th factor of a given integer n.

Q2
Search Suggestions System
Data Structures & AlgorithmsMedium

The problem involved implementing a search suggestions system where, given a list of products and a search word, I needed to return three most relevant product suggestions for each character typed in the search word.

Q3
MAXPARTY
Data Structures & AlgorithmsHard

I was presented with the MAXPARTY problem from Codeforces, which asks to find the maximum number of participants for a party given their required number of people less or equal than them, and people greater or equal than them.

Q4
Count Pairs with arr[i] > K * arr[j]
Data Structures & AlgorithmsHard

Given an array arr[] of length N and an integer K, the task is to count the number of pairs (i, j) such that i < j and arr[i] > K * arr[j]. The interviewer mentioned it's similar to a count inversion problem.

Q5
OOPs Concepts & LLD Principles
System Design

I was asked about fundamental OOPs concepts, specifically distinguishing between Abstraction and Encapsulation, discussing SOLID principles, and mentioning design patterns in use.

Q6
Count Distinct Palindromic Substrings
Data Structures & Algorithms

I was initially asked to count the number of distinct contiguous substrings that are palindromes. After I asked several clarifying questions, the interviewer changed the problem.

Q7
Binary Tree Maximum Path Sum
Data Structures & AlgorithmsHard

I had to find the maximum path sum in a binary tree. A follow-up question asked how to return the actual path corresponding to the longest sum.

Q8
High Consistency in Multi-Master Systems
System Design

I was asked how to ensure high consistency in a multi-master system. The discussion revolved around various architectural approaches and trade-offs.

Salesforce SMTS/LMTS
salesforce logo
Salesforce
MTS III8 yearsRejected
November 21, 202347 reads

Summary

I interviewed for SMTS/LMTS at Salesforce, completing several technical rounds including coding, HLD, HM, and LLD. Despite performing well in most rounds, I ultimately did not receive an offer for the LMTS position due to a combination of compensation band issues and a final LLD round.

Full Experience

I took an onsite interview with Salesforce on October 14th, and the entire process spanned approximately 1.5 months. I have 8 years of professional experience.

Round 1: Data Structures & Algorithms

I felt I performed very well in this round. The questions I was asked were:

  • Print all paths from the top-left corner to the bottom-right corner of a grid.
  • Evaluate an expression, a problem similar to a Calculator-III type question involving complex operations and parentheses.

Round 2: High-Level Design (HLD)

I believed I did extremely well in this round and thought it would lead to a strong hire recommendation. The core problem was to:

  • Design a rule engine for a banking system. An example scenario was given: if a user's salary is X and their account is 10 years old, they should be given a Z% discount.

Round 3: Hiring Manager (HM)

This round also went very well. It consisted of:

  • A technical discussion about my past projects, where the interviewer asked me to suggest modifications to certain aspects, which I handled successfully.
  • A system design question: Design a system for displaying live match scores, akin to what platforms like Hotstar offer. I managed to design this effectively.
  • Additionally, there were other typical behavioral questions.

Following these initial rounds, HR contacted me to inform me that I had cleared the SMTS level. However, my desired compensation was higher than their band for SMTS. Consequently, she mentioned that she would process my profile for an LMTS position.

Final Round: Low-Level Design (LLD) for LMTS

This round was an LLD focused on:

  • Designing Stack Overflow. I was asked to design the database schema for it, which I did very well, and I also wrote code for parts of the system.
  • The discussion then moved to the search functionality. I explained thoroughly what considerations are necessary for such a feature.
  • The interviewer then challenged me to write code demonstrating how ElasticSearch performs its searching, specifically asking about the underlying data structures, such as LSM trees. I acknowledge that I did not perform well on this particular aspect.

Despite my strong overall performance, I was ultimately informed that it was a "no-go" for the LMTS position. The HR offered to re-process my profile for another LMTS opening, but I decided to accept the rejection and move on.

Interview Questions (5)

Q1
Print All Paths in a Grid
Data Structures & AlgorithmsMedium

Given a grid, print all possible paths from the top-left corner to the bottom-right corner.

Q2
Evaluate Expression (Calculator III)
Data Structures & AlgorithmsHard

Implement a basic calculator to evaluate a simple expression string that may contain integers, '+', '-', '*', '/', '(', and ')'.

Q3
Design a Rule Engine for a Banking System
System Design

Design a rule engine for a banking system that can apply business rules. For example, if a user's salary is X and their account is 10 years old, they should be given a Z% discount.

Q4
Design a Live Match Score Display System (e.g., Hotstar)
System Design

Design a system similar to Hotstar for displaying live match scores, considering aspects like real-time updates, concurrency, scalability, and data consistency.

Q5
Design Stack Overflow
System Design

Design the Stack Overflow platform. This included designing the database schema, writing code for core functionalities, and discussing search functionality. I was specifically asked to elaborate on how ElasticSearch performs searching, particularly regarding data structures like LSM trees.

Salesforce MTS Onsite | Hyderabad
salesforce logo
Salesforce
MTS IHyderabad3 yearsOffer
October 15, 202334 reads

Summary

I recently interviewed for a Member of Technical Staff (MTS) role at Salesforce in Hyderabad. The interview process consisted of an Online Assessment, a DSA/SQL round, a System Design round, and a Behavioral round. I successfully received an offer for the position.

Full Experience

Round 1: Online Assessment (1 hour)

This round consisted of two Data Structures and Algorithms questions, ranging from easy to medium difficulty. I solved both of them successfully.

Round 2: Onsite - DSA/SQL (1 hour 30 minutes)

The round began with an introduction and a discussion about my current project and work. Following that, I was given a DSA question based on stocks, where I had to find the maximum profit within a given period. Next was an SQL question involving an employees table, where I needed to identify managers with two employees sharing the same name. We also discussed Java, OOPs concepts, the Collection framework, and a bit about SOLID principles.

Round 3: Onsite - Design (1 hour 15 minutes)

This round started with an introduction and an explanation of my current project's design and data flow using a whiteboard. The main task was to design the data model with an ER diagram for a Hotel Booking system on the whiteboard, explaining the required APIs. Key considerations included handling multiple room types in one hotel, allowing future bookings for the same room, and implementing dynamic pricing based on booking requests. Finally, an easy puzzle was posed: given N number of coins, split them into two groups having the same number of heads.

Round 4: Online - Behavioral (50 minutes)

This round commenced with an introduction and a discussion of my older projects and the details mentioned in my resume. Behavioral questions followed, such as asking about any recent good review comments I had given, how I handle conflicts with a manager, how I mentor my juniors or new hires, and why I was interested in Salesforce. Additionally, there were questions on development practices: how I debug APIs, my general approach, API patterns, and data flow in the frontend. We also discussed scenarios like a table population API payload not populating data and the possible reasons, as well as strategies to increase table population performance. Questions on API protocols and the differences between one-page and multi-page web pages were also part of this round.

I am happy to share that I was selected for the role.

Interview Questions (9)

Q1
Maximum Stock Profit in a Period
Data Structures & Algorithms

You are given stock prices in a pattern like [['Dec-22', 100],['Jan-23', 100],['Feb-23', 231], ['Mar-23', 123]....]. Find the maximum profit within a given period, for example, Jan-2020 to Mar-2023.

Q2
SQL: Manager with Two Employees Having Same Name
Data Structures & Algorithms

Given an employees table, find and print the manager who has at least two employees with the same name. Hint: Use inner join on the employee table, group by manager_name and employee_name columns, and use having count > 1.

Q3
Design a Hotel Booking System
System Design

Design the data model with an ER diagram for a Hotel Booking system. Explain the required APIs. Considerations include: multiple types of rooms can be in one hotel, future bookings for the same room are possible, and dynamic pricing of rooms based on booking requests.

Q4
Puzzle: Split N Coins into Two Groups with Same Number of Heads
OtherEasy

Given N number of coins, split them into two groups such that both groups have the same number of heads.

Q5
Behavioral: Recent Good Review Comments Given
Behavioral

Describe any recent good review comments you have given to a colleague or team member.

Q6
Behavioral: How to Handle Conflict with Manager
Behavioral

Explain how you handle conflicts or disagreements with your manager.

Q7
Behavioral: Mentoring Juniors or New Hires
Behavioral

Share your approach on how you mentor your juniors or new hires.

Q8
Behavioral: Why Salesforce
Behavioral

Why are you interested in joining Salesforce?

Q9
Debugging APIs and Table Population Performance
Other

How do you debug APIs? What is your approach? Discuss API patterns and their data flow in the frontend. If you have a table populating an API payload and data is not populating, what could be the possibilities for this issue? How would you increase the table population performance? Questions on API protocols, one-page vs. multi-page web pages.

Salesforce SMTS Interview experience | 6+ YoE | Selected
salesforce logo
Salesforce
MTS II6 yearsOffer
September 23, 202323 reads

Summary

I successfully interviewed for an SMTS role at Salesforce via an employee referral, navigating through four rounds of technical, system design, and managerial questions over a 4-5 week period, ultimately receiving an offer.

Full Experience

I applied for the SMTS position at Salesforce through an employee referral and received a call for an interview within a week. The entire process, from initial contact to receiving the offer, took about 4-5 weeks.

Round 1: Technical (Data Structures & Algorithms)

This round focused on my problem-solving skills with data structures and algorithms. I was asked to:

  • Check if characters of a given string can be rearranged to form a palindrome.
  • Find the smallest string divisible by two given strings.
  • Write a program to count the number of connected components in an undirected graph.

Round 2: Technical (System Design)

The second technical round was dedicated to system design. I had to provide a High-Level Design (HLD) and schema diagrams for a Vaccination slot booking system, detailing the involved entities.

Round 3: Managerial

This managerial round involved a lot of discussions about my previous work experience. I faced standard managerial questions, such as:

  • What would I do if I were new to a project and my manager assigned me a production issue? How would I react?
  • What does my typical day look like in my current organization?
  • How much code do I write versus how much time I spend on designing?

Round 4: Managerial

The final round, also managerial, involved a deeper discussion on my current project. There were quick questions about concurrency, throttling, and how AWS Serverless services like Lambda work internally. Later, typical operational questions were posed:

  • How do I tackle conflicts?
  • What would be my ideal team?
  • What do I look for in my team members?
  • How would I react if I didn't get enough credit for my work?

I answered all these questions confidently.

Verdict

I was selected for the role!

Interview Questions (9)

Q1
Smallest String Divisible by Two Given Strings
Data Structures & Algorithms

Smallest string divisible by two given strings.

Q2
Count Connected Components in Undirected Graph
Data Structures & Algorithms

Program to count Number of connected components in an undirected graph.

Q3
Vaccination Slot Booking System Design
System Design

High-Level Design (HLD) and schema diagrams of entities involved for a Vaccination slot booking system.

Q4
Handling Production Issue in New Project
Behavioral

What would you do if you are new to your Project and your Manager gives you a Production issue to take care. How would you react to this?

Q5
Typical Workday and Code vs Design Split
Behavioral

How your day looks in your current organization? How much code you do vs how much designing, etc.

Q6
Concurrency, Throttling, AWS Serverless Internals
System Design

Some quick questions about concurrency, throttling, AWS Serverless services like Lambda, how does these work internally.

Q7
Tackling Conflict
Behavioral

How you tackle conflict?

Q8
Ideal Team and Team Member Qualities
Behavioral

What would be your ideal team? What do you look in your team members?

Q9
Reacting to Lack of Credit for Work
Behavioral

How would you react if you don't get enough credit for your work?

Salesforce MTS | OA and Onsite | March 2022 | India
salesforce logo
Salesforce
MTS IindiaOffer
April 15, 202233 reads

Summary

I successfully interviewed for a MTS role at Salesforce in India in March 2022, navigating an online assessment and three challenging onsite rounds. I ultimately received an offer.

Full Experience

I was initially contacted by a recruiter on LinkedIn regarding this opening at Salesforce.

Online Assessment

The online assessment was 90 minutes long and consisted of two relatively easy questions. I managed to complete both in about 17 minutes.
  1. The first question asked to check if parentheses were valid in a given list of strings.
  2. The second question involved finding the maximum gap of unused road given starting and ending locations of cars on a road of size 'n'.

Onsite Rounds

My onsite interviews comprised three rounds.

Round 1: Coding (1 hour)

This round had two coding questions. I don't clearly recall the first one, but it was an easy problem. The second question involved an array, where I had to find the number of ways to split it into three subarrays (S1, S2, S3) such that the sum of S1 and S3 was less than S2. This round, and the next, felt like a patience test. Interviewers would often throw a coding question in the last 10 minutes, then press me on failing test cases or NullPointerException errors. They'd also insist on a dry run before I could even compile the code.

Round 2: Coding + System Design (1 hour)

This was a mixed round. We discussed the architecture of my current project, though it felt more like the interviewer telling me about its flaws. I was also asked to design a database model for a platform like Redbus and create a class diagram for a library management system. Towards the end, a coding question on 'sliding window maximum' was given. The experience in this round was also not very good, with similar tactics as Round 1. My screen even got blocked once when the interviewer submitted the question herself while I was doing a dry run.

Round 3: Hiring Manager

This round was a general discussion about my current role and responsibilities. The hiring manager also elaborated on the new project and the type of work involved.

Result

I received an offer for the role.

Interview Questions (6)

Q1
Valid Parentheses Check
Data Structures & AlgorithmsEasy

Given a list of strings, determine if the parentheses in each string are valid. (e.g., '()[]{}' is valid, '([)]' is not).

Q2
Maximum Gap of Unused Roads
Data Structures & AlgorithmsEasy

Given the starting and ending locations of cars on a road of size 'n', find the maximum continuous gap of unused road.

Q3
Split Array into Three Subarrays with Sum Condition
Data Structures & Algorithms

Given an array, find the number of ways it can be split into three non-empty subarrays (Arr(0) to Arr(j), Arr(j+1) to Arr(k), Arr(k+1) to Arr(n)) such that the sum of the first and third subarrays is less than the sum of the second subarray (S1 + S3 < S2).

Q4
Database Modeling for Redbus
System Design

Design the database schema for a bus ticketing platform like Redbus.

Q5
Class Diagram for Library Management System
System Design

Design a class diagram for a library management system.

Q6
Sliding Window Maximum
Data Structures & Algorithms

Given an array of integers and a window size 'k', find the maximum value in each sliding window.

Salesforce | MTS | June 2021 [Offer]
salesforce logo
Salesforce
MTS I1.5 yearsOffer
June 10, 202122 reads

Summary

I had a positive interview experience for the MTS role at Salesforce in June 2021, culminating in an offer. The process involved five rounds, focusing on technical problem-solving, low-level design, resume deep dives, and behavioral discussions.

Full Experience

My interview journey at Salesforce for the MTS role, with 1.5 years of experience, was quite thorough and well-structured, ultimately leading to an offer. I found the interviewers to be very helpful and polite throughout the process, which made the experience even better.

Round 1: Technical

This round began with introductions, after which I was asked to explain my current project in detail. Following the project discussion, the interviewer presented a problem on topological sorting, specifically related to course scheduling. I was given the problem similar to Course Schedule. After successfully discussing my approach for this problem, I was then given a low-level design problem to solve.

Round 2: Technical

Similar to the first round, this round started with introductions and a detailed discussion about one of my projects. Subsequently, the interviewer gave me a problem to find the minimum meeting rooms required, which was analogous to Meeting Rooms II. Towards the end of this round, I was asked a few behavioral questions.

Round 3: Technical

This round was entirely focused on my resume. The interviewer thoroughly grilled me on every aspect mentioned in my resume, starting with an extensive discussion on my projects. We delved deep into the technologies I used, and there were specific discussions on MVC architecture, REST APIs, core Java concepts, OOPS principles, and even some cross-questions related to Machine Learning.

Round 4: Technical

After an initial discussion, I was given two coding problems in this round. The first problem involved sorting given IP addresses. Following that, the interviewer presented another problem to find the longest substring with unique characters within a given string.

Round 5: Managerial

This final round was entirely dedicated to behavioral questions. I was asked about my reasons for leaving my current company, why I was interested in joining Salesforce, and we had a discussion regarding my expectations from the role and the company.

I am pleased to share that the final verdict was an offer.

Interview Questions (5)

Q1
Course Schedule
Data Structures & AlgorithmsMedium

You are given a total of numCourses courses you have to take, labeled from 0 to numCourses - 1. You are also given an array prerequisites where prerequisites[i] = [ai, bi] indicates that you must take course bi first if you want to take course ai. Return true if you can finish all courses, otherwise return false.

Q2
Meeting Rooms II
Data Structures & AlgorithmsMedium

Given an array of meeting time intervals intervals where intervals[i] = [starti, endi], return the minimum number of conference rooms required.

Q3
Sort IP Addresses
Data Structures & Algorithms

Given a list of IP addresses, sort them. The sorting should ensure that the IP addresses are ordered correctly, typically in numerical or lexicographical order.

Q4
Longest Substring Without Repeating Characters
Data Structures & AlgorithmsMedium

Given a string s, find the length of the longest substring without repeating characters.

Q5
Behavioral Questions
Behavioral

This round primarily focused on behavioral aspects. Questions included topics such as: "Why are you leaving your current company?", "Why do you want to join Salesforce?", and discussions around career expectations.

Preparation Tips

For my preparation, I focused extensively on data structures and algorithms, particularly practicing problems involving graphs (like topological sorting) and greedy approaches. I also refreshed my knowledge on low-level design principles, reviewed MVC architecture, REST APIs, and core Java/OOPS concepts, as these were heavily discussed during the resume deep dive. Furthermore, I prepared for behavioral questions by thinking through my motivations for career changes and my aspirations for a role at Salesforce.

Salesforce | SMTS | Bangalore | April 2021[Passed]
salesforce logo
Salesforce
MTS IIBangalore7 yearsOngoing
May 18, 202130 reads

Summary

I interviewed at Salesforce for a Senior Member of Technical Staff position in Bangalore. I successfully navigated through multiple rounds, received positive feedback, and was informed an offer would be extended, though I am still awaiting the formal offer letter.

Full Experience

I recently interviewed at Salesforce for an SMTS position in Bangalore, India. At the time, I had 7 years of experience and was working as an SDE2 at a top e-commerce firm. My interview process consisted of four rounds.

Round 1: Online Assessment
This round involved a coding question where I had to write code replicating functionalities similar to certain Linux commands.

Round 2: PS/DS Round
In this round, I was given two problems. The first was a LeetCode Medium problem focused on Linked Lists. The second question was the classic Sudoku problem, for which I explained a backtracking approach and provided detailed pseudocode.

Round 3: Coding++ Round
This round had multiple parts. I was asked to implement a function to move all zero elements to the front of an array. Additionally, there were questions specifically on operating system concepts such as Semaphores and Locking mechanisms.

Round 4: Director Round
The final round was conducted by a Director. It included a question on writing an SQL query that specifically utilized a Left Outer Join. I was also tasked with designing the classes required for a Chess game. Towards the end, there were several leadership-focused questions.

I received positive feedback from the recruiter who confirmed that an offer would be rolled out. However, I am still waiting for the official offer letter and feel a bit ghosted at the moment.

Interview Questions (4)

Q1
Sudoku Solver
Data Structures & AlgorithmsHard

I was asked to solve the classic Sudoku problem. I needed to explain my approach and provide pseudocode for the solution.

Q2
Move Zeros to Front of Array
Data Structures & AlgorithmsEasy

I was asked to write code to move all zero elements to the front of an array. For example, given an array [1,0,2,0,3], the result could be [0,0,1,2,3].

Q3
SQL Query with Left Outer Join
OtherMedium

I was given a specific scenario and tasked with writing an SQL query that correctly uses a Left Outer Join to retrieve the required data.

Q4
Design Classes for Chess Game
System DesignMedium

I was asked to design the object-oriented classes and their relationships that would be necessary to implement a Chess game.

Salesforce | MTS | Hyderabad | Oct 2020 [Offer]
salesforce logo
Salesforce
MTS IHyderabadOffer
October 21, 202021 reads

Summary

I recently cleared the Salesforce interview for a MTS position in Hyderabad. The process, which included an online assessment, multiple technical rounds, and a managerial discussion, concluded with an offer after a lengthy waiting period and a re-initiation of the process due to the initial lockdown.

Full Experience

Hi Leetcoders, I recently cleared the Salesforce interview for the Hyderabad location. The process initially started in March 2020, where I attended the first round after a recruiter call, which went well. However, due to the lockdown, I never received feedback, and the position was eventually closed in April. Finally, in October, the same recruiter reached out, offering to restart the interview process for a new position from the beginning. Below is a detailed account of my interview experience:

Round 1: Online Assessment (HackerRank ALOHA-5) [90 mins]

  1. Contiguous Subarray Sum
  2. Maximum sub-matrix sum in a given matrix (I was able to solve the first question quickly, which gave me enough time to work on the second one).

Round 2: (60 min)

  1. Maximum path sum in a triangular matrix from top to bottom (Only two directions allowed - down and down-right)
  2. Split BST with given value k

Round 3: (90 min)

  1. Top K repeated words in a given paragraph (with punctuations and delimiter)
  2. LLD of a given scenario on cricket match (Observer design pattern). I was asked to write down running code along with classes. (The scenario was: if I hit a six, my friend will cheer, my dog will bark, my car will blow its horn, etc.)
  3. DB Design related to employee and multiple addresses with some scenario-based questions.

Round 4: Managerial (45 mins)

This round was mostly related to my past experience, previous projects, and some behavioral questions.

Final Verdict: Offer

The overall interview experience was very good, and I found the interviewers to be polite.

Interview Questions (7)

Q1
Contiguous Subarray Sum
Data Structures & Algorithms

Given an array of integers, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum. Alternatively, determine if a contiguous subarray exists that sums to a specific target value.

Q2
Maximum Sub-matrix Sum
Data Structures & AlgorithmsHard

Find the maximum sum of a sub-matrix within a given 2D matrix. This typically involves applying Kadane's algorithm across all possible sub-matrices formed by row combinations.

Q3
Maximum Path Sum in Triangular Matrix
Data Structures & Algorithms

Given a triangular matrix, find the maximum path sum from the top element to any element in the bottom row. Movement is restricted to only two directions: directly down or down-right.

Q4
Split BST with Given Value K
Data Structures & Algorithms

Given the root of a Binary Search Tree (BST) and an integer 'k', split the BST into two (or more) subtrees. Typically, one subtree contains all nodes with values less than or equal to 'k', and the other subtree contains all nodes with values greater than 'k'.

Q5
Top K Repeated Words
Data Structures & Algorithms

Given a paragraph of text, which may include punctuations and various delimiters, find the 'K' most frequently repeated words. The solution should handle case-insensitivity and proper word extraction.

Q6
LLD: Cricket Match Observer Pattern
System Design

Design a Low-Level Design (LLD) for a scenario related to a cricket match, specifically demonstrating the Observer design pattern. The example provided was: 'Suppose I am playing cricket and when I hit a six, my friend will cheer, my dog will bark, my car will blow horn etc.' I was asked to write down running code along with classes to illustrate this.

Q7
DB Design: Employee and Multiple Addresses
System Design

Design a database schema to manage employee information, where each employee can have multiple addresses (e.g., permanent, current). This also involved addressing scenario-based questions related to the proposed database design and queries.

Preparation Tips

I utilized the lockdown period for practicing problems on LeetCode. I primarily focused on solving easy and medium problems across various topics, with very few from the hard category. This approach explains why I struggled with the 'Maximum sub-matrix sum' problem (a hard problem) during the Online Assessment. I also tried to solve Daily Challenges whenever possible.

The waiting period for responses from companies was quite long, and I faced rejections twice in Microsoft interviews (3rd and 4th rounds). While frustrating, these experiences significantly helped me focus on my weak areas and improve my coding skills.

The interview process with Salesforce was completed within 10 days of receiving the call from the recruiter, and I happily received my offer on October 21st. I'm very grateful to the LeetCode community; it's truly one of the best platforms. Thank you everyone and all the best!

Have a Salesforce Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Salesforce.