1 hour prescreening - 30 minutes
1 coding assessment - 3 hours Final rounds
2 System Design - 1 hour each
1 behavior round - 45 minutes
1 coding interview - 1 hour
The coding assessment is not difficult.
You are required to call an endpoint they provided you, massage the data, and post it back to another endpoint. You can run your own IDE, and code it towards your need. Upon your answer is correct, the page will refresh and ask you to upload your code. You should be able to do it within 1 hour, at least that’s what I spent.
For the final rounds, it’s where it starts to get a bit confusing. Typically, you will expect the technical interview to be fully technical, and behavior interview to be full behavior. But it’s not the case here. For all their technical interviews, they will start off with you a 15-minute behavior questions and then, hop on to the actual technical question part, which renders your interview process shorter, and rusher. I honest don’t know why they choose to ask 2 or 3 behavior questions into the tech interviews, but that’s last thing to worry.
For the first system design interview, the interviewer is nice. We were able to exchange ideas effectively, and casually. The question is about how to design a weather app, where the source of data is served from a server in xml format. But it started to get worse since then.
The coding interview is what’s coming next. Basically, the question is a variation of Two Sum question. Instead of finding 1 pair, you need to find all of it. I started out with a brute force solution, then to a slightly optimized solution, and finally, due to running short on time, I only explained the most optimized solution, but not able to entirely code it. Aside from that, I suppose to interview with 1 person, but 2 showed up, and the other person, an older guy, who’s not supposed to be in the interview is very chatty throughout the process. He completely dominated the younger interviewer without even ask the younger interviewer his opinion on me or the code. I feel sorry for the young folk, he seems very nice, but entirely restrained. Despite calling the older guy chatty, he never gave you any hint at all! Given he’s not able to provide any meaningful hint, I doubt he really does much coding, instead just to read from a checklist, like what’s the time complexity, what’s the space complexity. But any interaction towards your actual coding is none.
The later behavior interview is okay, nothing impressive.
The last round of system design interview is not great. The question is too big for a 1-hour system design interview, granted 20 minutes are taken away for behavior part. The question is to design a Netflix liked system. There are 3 focuses on the question. First is you need to serve the movie catalog, and it should be searchable with title names, last added date, and view counts. For each filter, you will need to think how to serve these data. Second, you need to think about how to host the video files over the internet, as well as cases for different resolution. Last, you need to design a mechanism to save people’s last viewed timestamp, so that when user comes back, they can resume as is. So, with 40 minutes left, I tried to answer as much as I can. The interviewer doesn’t seem to hint you much either, but just keep on challenging you what if this, what if that. I feel like they get a long list of questions, which exhaust most of the possibilities during this interview, and read them as if they are executing a sequence diagram. And overall, he’s not as good as the first interviewer.
After all the rounds are done, I got an email from the HR saying, sorry, you are not good, also no feedback. Despite the fact they rejected me, I would choose not to go either due to very low compensation as well. It’s lower to what I am earning, but only good at they are full WFH Also, according to the interviewers, some team can get very busy, and all of them have production support to some extent. Consider twice if you want to apply for it.