SD round - from the prep notes, a food review system.
Debug round - also from the prep notes. The question was about adding a dasher and randomly picking a dasher. The bugs included, roughly:
- A boundary issue when the map is empty
- A logic issue: when you delete a randomly-selected key from the map, you need to move the last element into the deleted slot and update the index. If you don't handle the boundary case properly when there's only one element left, or when the deleted key happens to be the last one, the index gets shifted incorrectly or it throws a KeyError/IndexError.
- try/except handling
Follow-up: what do you need to watch out for under multithreading, and how would you solve it? What do you do when an upstream/downstream service responds too slowly?
The HM round was pretty standard. They asked a lot of things but I forgot most of it.
AI round - they gave some background description. I don't remember the details, but it simulated two ends responding to each other. I felt like the AI could definitely write it, and if anything I overthought this round. What I had in mind was to break it down into multiple stages (planning, then breaking it into small tests, then executing and testing them separately), but in practice Claude didn't finish it for me. It would have been better to just let CC plan and execute directly. Looking back, the main thing was probably to talk to the interviewer up front about what exactly they wanted, instead of just feeding the prompt straight in. At the time I read through the prompt, felt like it was pretty straightforward, and just threw it in. In hindsight I didn't think it through enough - I should have asked more questions and drawn out more detail.
When I did the Q&A with each person, I was surprised to hear that things didn't sound too grindy there, though a lot of the work sounds like migration stuff, which is kind of boring. Overall the company situation sounded pretty positive.
Discussion
Loading comments…