Summary
I interviewed for an MTS/SMTS Backend Engineer role at Slack. The process included a Hiring Manager round, a problem-solving round on a simplified codebase, and an architecture design round. Despite clearing early stages, I was ultimately rejected after the architecture round due to negative feedback.
Full Experience
Background and Initial Contact
I applied for an MTS/SMTS Backend Engineer role at Salesforce a couple of months ago. After about 2 months, I was contacted by a Talent Coordinator. Things were a bit unusual from the start:
- The role I applied for no longer existed on the portal.
- No one from Talent Acquisition reached out to confirm my experience or explain the role, unlike most companies.
The Talent Coordinator directly scheduled a Hiring Manager round to assess my fit.
Hiring Manager Round
The interviewer was a Director of Engineering at Slack (US-based). We started with introductions, followed by behavioral questions. After that, we moved to a technical discussion.
Long Gap and Confusion
I assumed I was rejected after a three-week gap. However, another Talent Coordinator then reached out for a Problem Solving round. I received two different schedules from two different coordinators (1.5-hour vs. 1-hour round), and only by checking the interviewer's LinkedIn did I realize the role was actually for Slack, not Salesforce. I tried to follow up for clarity but received no response. Eventually, the 1.5-hour round was confirmed, and I joined without knowing the exact format or expectations.
Problem Solving Round (Nano Slack)
The interviewer explained the format:
- 20 minutes: Go through the Nano Slack codebase (a simplified Slack implementation) and ask questions.
- 1 hour: Implement missing functionalities based on provided requirements.
- 10 minutes: Scaling discussion and Q&A.
There were 4 requirements in total. I fully implemented 2 and provided a clear approach for the 3rd, ensuring all existing and new test cases passed. The interviewer was helpful when I got stuck.
Architecture Round
Two days later, I was contacted by a 4th Talent Coordinator saying I cleared the round and was being moved to the Architecture + Behavioral round. The Architecture round was conducted by a Staff Engineer.
The scenario given was vague, and I spent about 15-20 minutes asking clarifying questions, not entirely sure I grasped what was expected. I focused on a Jira-like integration and proposed a Pub/Sub notification system. We discussed various aspects of the design, and he took a screenshot of my design.
Final Outcome
Two days later, I received a notification that the Behavioral round was cancelled. Upon following up, I was told that the feedback from the Architecture round was not positive. I requested feedback but haven't received it. 15 days later, I received a rejection email.
Interview Questions (5)
Tell me about a time when you couldn’t complete a task on time.
Describe a conflict with a coworker and how you handled it.
Assume you’ve taken over a project and noticed network calls are showing 50% higher latency. The original owner has left. How would you debug it?
How would you implement an @autocomplete feature in Slack?
Imagine Slack wants to support third-party integrations. For example, if two users want to integrate with Jira, OneDrive, BookMyShow, etc., how would you design this?