I got a referral to Discord late last year and got rejected right away.
This month, ironically, I got picked up through a mass application instead. When I talked to the recruiter he said the package looks pretty big, but the interview bar is high too. I'm honestly not that strong, and at the time I felt like I wasn't at that level, but I gritted my teeth and went anyway. In the end I only made it through the one round where you're allowed to use AI, and I got cut there. The question was:
Classic question — chat server. There are tons of interview reports about it on the forum. I prepared based on the requirements I'd seen in other people's write-ups, and beforehand I even had ChatGPT mock the interview for me, practiced writing it myself, and tested with PuTTY.
But on the day, the scope he gave felt a lot bigger than expected, probably because AI use was allowed. The interview prep materials also mention that for this round, if you opt in to using AI, they deliberately make the scope too big to finish in an hour — that's the whole point, testing how well you can use AI. The question:
Building a discord like chat server
accept clients over TCP - test with PUTTY
features:
1. slash commands: /help, /nick, /users, /quit
2. chat rooms: create, join, list - message sent to a room is sent to all users in that room
3. reconnection: if a client disconnects, they can reconnect and rejoin their previous rooms
4. message history: show last 10 messages when a user joins a room
data should be persisted over server restarts
keep scalability in mind
I wasn't really sure what he was trying to test, so I just dropped the requirements straight into GPT. It handed back a ton of code, using the asyncio and sqlite3 libraries — completely different from how I'd practiced it with socket...
Normally I try to fully understand whatever code it writes, and if there's something I don't get I ask it a followup question, but the interviewer didn't really give me much of a chance to actually look it over. Most of the rest of the hour was spent discussing the code and testing it with PuTTY. A few examples of the questions he asked:
- Why did you write the prompt that way?
- Do you think it's appropriate that it used these libraries? Why?
- Do you think it makes sense that it added this functionality here?
- How would you test this next?
- If you needed to add this feature now, how would you get the AI to keep writing it, and how would you test it?
Even though the functional requirements and the additional features all ended up implemented, I never wrote any code myself the whole time. The whole thing left me pretty confused, and by the end I still had no idea what skill he was actually trying to evaluate. The interviewer was on the AI leverage team, and in the last few minutes he sent me a survey — I kind of felt like I was being treated as a data point in an experiment. Got rejected the following weekend.
I've got about a month left on my grace period and still no offer. It's pretty desperate.
Discussion
Loading comments…