Phone screen: break a log into message, timestamp, and level, then query it based on time. Easy-medium difficulty.
Round 1 was a bar raiser — pure behavioral questions, around ten of them, all pretty common.
Round 2, I don't really remember the specifics of the interviewer, but it was also easy-medium.
Round 3 (this is the round I got rejected in): given an array of numbers and a number k, each operation you pick one number from the array, divide it by 2, and round the result up. You can do this at most k times. Find the minimum possible sum of the remaining array. During the interview I blanked on which library to import for math.ceil, and when I asked the interviewer, they wouldn't answer and just told me to switch languages. Switching languages wasted a lot of time. It turned out this question has an actual LeetCode original — I went back and checked afterward, and the optimal solution was the same as what I'd written: use a max-heap and each time pop the largest number and divide it by 2. A lot of my test cases were timing out though. Thinking about it afterward, I think you probably need to handle the case where everything is 0 (if the whole array is 0, you stop dividing).
Round 4 was with the hiring manager. It was originally supposed to be a system design round, but they just asked a few behavioral questions plus a system design question about my own project, and then it was over.
Every round had 1-3 behavioral questions. The ones that stuck with me most were about cross-team work and about doing things outside your scope — beyond your original responsibilities.
Honestly, it's rough how interviews these days don't let you make a single mistake — you also have to remember which library to import for common functions, since on LeetCode you usually don't need to import anything. I got a bit stuck in round 3, and ended up getting a bad review from that interviewer.
Discussion
Loading comments…