Here's a breakdown of the interview process:
The coding assessment is not difficult. You are required to call an endpoint they provided, massage the data, and post it back to another endpoint. You can run your own IDE and code it to your needs. Upon your answer being correct, the page will refresh and ask you to upload your code. You should be able to complete this within 1 hour; at least that’s what I spent.
For the final rounds, it’s where things start to get a bit confusing. Typically, you would expect technical interviews to be fully technical and behavior interviews to be fully behavioral. However, this is not the case here. For all their technical interviews, they begin with a 15-minute behavior questions segment and then move on to the actual technical question part, which makes the interview process feel shorter and rushed. I honestly don’t know why they choose to ask 2 or 3 behavior questions within the tech interviews, but that’s the last thing to worry about.
For the first System Design interview, the interviewer was nice. We were able to exchange ideas effectively and casually. The question was about designing a weather app where the source of data is served from a server in XML format. But it started to get worse after that.
The coding interview came next. Basically, the question was a variation of the Two Sum question. Instead of finding one pair, you need to find all of them. I started with a brute-force solution, then moved to a slightly optimized solution, and finally, due to running short on time, I only explained the most optimized solution but wasn't able to code it entirely. Aside from that, I was supposed to interview with one person, but two showed up. The other person, an older guy who was not supposed to be in the interview, was very chatty throughout the process. He completely dominated the younger interviewer without even asking the younger interviewer his opinion on me or the code. I felt sorry for the young fellow; he seemed very nice but entirely restrained. Despite calling the older guy chatty, he never gave any hints. Given he couldn't provide any meaningful hints, I doubt he does much coding, instead just reading from a checklist, asking about time complexity and space complexity. However, any interaction related to your actual coding was nonexistent.
The later behavior interview was okay, nothing impressive.
The last round, System Design, was not great. The question was too large for a 1-hour System Design interview, considering 20 minutes were taken up by the behavior part. The question was to design a Netflix-like system with three main focuses. First, you need to serve the movie catalog, which should be searchable by title names, last added date, and view counts. For each filter, you need to think about how to serve this data. Second, you need to consider how to host video files over the internet, including cases for different resolutions. Last, you need to design a mechanism to save users' last viewed timestamps so they can resume where they left off. With 40 minutes remaining, I tried to answer as much as I could. The interviewer didn't seem to offer many hints but kept challenging me with "what if this, what if that." I felt like they had a long list of questions, covering most possibilities during this interview, and were reading them as if executing a sequence diagram. Overall, he was not as good as the first interviewer.
After all the rounds were done, I received an email from HR saying, "Sorry, you are not good," with no feedback. Despite being rejected, I would have chosen not to proceed anyway due to very low compensation, which was lower than what I am currently earning. The only positive was that it was a full WFH position. According to the interviewers, some teams can get very busy, and all of them have some level of production support. Consider this twice if you want to apply.
Two Sum
Weather App System Design
Netflix-Liked System Design
The following metrics were computed from 1 interview experience for the HubSpot Senior Software Engineer role in Canada.
HubSpot's interview process for their Senior Software Engineer roles in Canada is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for HubSpot's Senior Software Engineer interview process in Canada.