HR Interview with recruiter - went fine.
Technical phone screen of 60+ minutes.
The problem asked was to implement a chat client that interfaced via Telnet. Simply make a server that has a socket-based listener and then can send all the messages it receives from multiple clients. No need to keep much state - just spam all messages received to everyone else. No history or anything.
The problem with this is that the problem statement presumes you have a working dev environment. I didn't when they asked this question, so I had to set up an entire dev environment, get multithreaded programming going in a language I never use for multithreaded programming, and use sockets in a language that I've never used sockets in.
All the while, my firewall was blocking local Telnet connections and various other things. Basically, this problem sucks and doesn't test your coding ability or even your ability to learn from documentation. (Who learns from documentation in such a short period of time? No one!)
It was all pretty dumb. I know LeetCode has its issues, but the interviewer was mostly useless in directing me where to go with this one. Be careful what language you choose with this, as you will be the victim of whatever documentation it has around multithreading + sockets. Some languages are much better than others.
Before I had even interviewed with Discord, I had an offer in hand and had done many on-sites + phone screens at other companies. It just wasn't a good test of skills I use day-to-day or in interviews.
Socket chat server with Telnet compatibility.
The following metrics were computed from 16 interview experiences for the Discord Software Engineer role in United States.
Discord's interview process for their Software Engineer roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Discord's Software Engineer interview process in United States.