I just finished interviewing for Citadel Securities' C++ SWE position, and the whole experience was very negative, so I'm posting here to vent.
The phone screen was an external merge sort with a heap. The interviewer was decent, and the overall experience was fine.
After that, they quickly scheduled the onsite and told me there'd be five rounds total: design + 2h coding + 1h code review + 1h project deep dive.
Here's where it got outrageous. For the design round I got an interviewer who showed up 15 minutes late without even an apology, briefly mentioned what the team does, and then had me start designing. The question was to design a metric + alerting system — if you've worked at Google, this is basically a Monarch + SLO repo + alerting kind of setup. As it happens I work on an observability team at Google, so I sketched out a pipeline similar to my team's instrumentation + collection + serving flow. The whole time it felt like he kept interrupting me — I never had a real chance to talk through trade-offs, and I didn't even finish the design. He asked the same question, "how do you detect failure on a per-machine worker," like two or three times. I told him "heartbeat" several times and I have no idea whether he didn't understand it or just didn't hear me. Earlier I'd mentioned that I thought the database should be a time-series sorted string table, and later it was like he'd completely forgotten that and said I hadn't considered whether the database should be relational or non-relational. At the start of the interview I gathered all the requirements and asked if there were any others — he said no — but halfway through writing the design he suddenly said I needed latency under 2 seconds. Overall I felt like the interviewer didn't understand distributed systems, and didn't understand observability either.
Discussion
Loading comments…