It was 75 minutes long. They said it would be coding + system design, but in practice the two were mixed together, and the questions were pretty scattered and casual. The last 5 minutes were reverse behavioral questions, where I got to ask them things.
The problem wasn't quite like a LeetCode problem — they didn't clearly spell out what the input was. They wanted me to design it myself and then justify my choices.
They gave me a company -> subscriber list relationship, plus a log list, where each log has a company name, whether it needs to be broadcast, and a time. They asked me to write code to send a message to the subscribers.
While I was in the middle of writing it, they hinted that I could take a current-time input, so I changed my logic to a polling-style approach. I asked several times whether that was okay, and the interviewer didn't seem to have any objection.
As a follow-up, they asked what I'd do if, instead of a current time, I was given a range of time. And how I would design the API, and how I would store all this information. And if I needed to schedule sending a message like this, how would I set up the API — what would the API even look like.
The questions were pretty scattered — as long as there was time left, they just kept asking. I don't know if I passed or not, but I kept getting asked new questions the whole time, so I'm guessing that means the interviewer was satisfied with my answers.
Discussion
Loading comments…