The phases I personally experienced:
1. Initial tech screen. This was as described by other reviewers on this page.
2. Meet with hiring manager.
3. Multi-hour interview panel. They provide a lot of useful prep for this, so if you're at this step and reading this, I'm not giving any secrets away here:
a. Project retro: They wanna hear about a project you've lead and delivered. What went well, what went poorly, what lessons you'd incorporate into future work, and so on.
b. Practical, front-end interview portion. Build a basic application with React in your local IDE. I prepared a project repo ahead of time.
c. DS&A question framed as a product question. This was built in my local IDE. I prepared a Node project repo ahead of time, but your language of choice is fine. This was very challenging, and a thoughtfully prepared question.
d. System design question. There was extensive test prep provided for this.
e. Behavioral. Extremely unique behavioral questions. No amount of preparation will help you here. These were excellent, thoughtful and thought-provoking questions. I have a lot of respect for the way they conducted this portion.
This panel is where I received my rejection.
Overall, in my experience, and according to my own observations:
- a couple of Discord's technical interview questions are highly specific, in the sense that you either know how to implement the very specific thing they're looking for, or you don't. With how competitive this labor market is, you can't afford to not know.
- the system design question is standard type of "let's talk about how you'd implement X" scenario that off-the-shelf prep will adequately prepare you for (tho, again, I didn't get an offer so take my words with a grain of salt)
- the behavioral questions were unusual but very interesting and thought-provoking; it seems clear to me someone put a lot of thought into developing them
- the "project retro" portion was pretty standard, but I was asked some probing questions I hadn't been able to prepare for