Slack logo

Slack Software Engineer Interview Questions
& Process

Real candidates share what happened, how many rounds they had,
and how the experience turned out.

Based on 116 interview experiences · FREE TO READ

3 Rounds average
Average Typical difficulty
45.7% Positive experience

Candidate interview experiences

First-hand accounts from people who interviewed at Slack.

Showing 3 of 116
Slack logo
Slack

Software Engineer

Engineering · nearly a year ago

Staff Average Neutral experience No offer 2 rounds
Interview process
Recruiter call Technical screen
Interview formats
Technical Coding

The interview process started with a good first round where I connected well with the interviewer and the job seemed interesting. However, the next stage involved a coding challenge where I couldn't complete the second part, which required counting a pattern within an alphanumeric string. This coding test ended my candidacy, which I found to be an inappropriate metric for disqualification. Although I'm happy with my current role, I do like the Slack product.

Confirmed questions1 question
  • Can you describe a time when you had to inform your product team that you wouldn't be able to deliver what they requested?
Slack logo
Slack

Software Engineer

Engineering · nearly a year ago

Senior Average Negative experience No offer 5 rounds
Interview process
Recruiter call Phone screen Take home Technical screen Onsite Background check Offer
Interview formats
Coding Technical System Design Behavioral

It was a long interview process. Started with a recruiter screen, then a manager screen, followed by a take-home coding challenge that took about 1.5 hours. The final round involved system design, a 1.5-hour coding session, and two behavioral interviews. The managers were great, but the engineers seemed disengaged. Despite thinking the final loop went well, the recruiter ghosted me after I followed up a few times for an update. It's really bad not to even get a rejection email after investing so much time. Total waste of time.

Confirmed questions4 questions
  • Design a system to ingest commands/keywords from Slack messages and then call 3rd party APIs based on those commands.
  • Download a real codebase and build a Slack-like chat application using a SQLite database, adding functionality for private channels.
  • Can you explain your approach to the API for user search suggestions in Slack?
Slack logo
Slack

Senior Software Engineer

Engineering · more than a year ago

Senior Average Positive experience Accept offer 5 rounds
Interview process
Recruiter call Technical screen Take home Onsite Group
Interview formats
Behavioral System Design Technical Coding

So, applying online for the Senior Software Engineer (Frontend) role at Slack (which is now Salesforce) was a really good experience, took about a month. First, the recruiter called the next day, just a casual chat about my background and what I'm looking for. Then came the Engineering Fit interview with a manager. It was a mix of behavioral questions about past projects and some high-level systems design, like thinking about how to design an autocomplete or a DM feature. No tricky coding or algorithms, just conversational stuff. After that, there was a timed 4-hour take-home exercise where I had to do a code review on a new feature in an example app. It was like a GitHub PR, tested my coding and how I give feedback. Then, the Virtual On-Site over Zoom, with three different engineers. One was behavioral, and two were systems design, focusing on collaboration, feature implementation, and my knowledge of HTML/CSS/JS. They suggested using GreatFrontEnd.com and practicing by building things. Finally, after passing the on-site, there's Team Matching where you meet with different managers who have openings. It's more casual, about finding the right team fit. Throughout the whole thing, the communication was top-tier and they really seemed to want me to succeed.

Confirmed questions1 question
  • How would you design a high-megapixel image viewer?

Slack Software Engineer Interview Questions

Quoted word for word from Slack interview reports.

Implement a binary memcache protocol, covering get and set/cas commands, similar to the one used by well-known memcached.

Read reports

Can you write code to count the number of tags on a website given its URL?

Read reports

Can you implement a randomized set with O(1) time complexity for insert, delete, and getRandom operations?

Read reports

What parameters would an API for Slack's '@' feature accept, and what would its response data structure be?

Read reports

What's the minimum viable product (MVP) for displaying a gigapixel image in a browser?

Read report

Given existing high level design of slack, add features to it like attach url info details with the message sent e.g in the message it's like "Link to PR - http://github.com/PR-1", so fetch info from github for the url and send it with the message and it should not impact existing system.

Read report

Build a single-page app that fetches data from an API, displays it, and updates without a page refresh, and shows more details in an overlay when an entry is clicked, with the constraint of not using any frameworks.

Read report

Design a system to ingest commands/keywords from Slack messages and then call 3rd party APIs based on those commands.

Read report

Design the architecture for a Twitter client, ensuring it includes persistent storage and explaining the design choices.

Read report

Formats, difficulty and experience

Across all 116 Slack interview reports.

Interview formats

Behavioral 32.6%
Coding 29.3%
Technical 27%
System Design 8.1%
Presentation 2.2%

Interview difficulty

Easy 22.4%
Average 69.8%
Difficult 7.8%

Candidate experience

Positive 45.7%
Negative 40.5%
Neutral 13.8%