Salesforce | PMTS | Aug 2025 | Offer
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)
Walkthrough the architecture of one of the complex projects you've worked on, discussing design decisions made and cost considerations.
Discuss the execution strategy of a project requiring collaboration and how to prioritize tasks with stakeholders.
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.
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.
Design a Least Frequently Used (LFU) Cache. Expectation was to write the working code and run it.