Round 1
First round was a culture fit, and behavioural round with the CTO and a SWE in my team. This happened quite long ago from when im writing this note down, so the details might be a bit fuzzy.
They asked me to introduce myself and went into a deep dive into my internship experiences. I forgot most of the details but there are some that stuck out to me.
- They asked me about the team size that I have worked with in my internships, and if im comfortable working in a small team
- What is the most technically challenging problem that you have dealt with in all of your internships (I realised this is a very common question companies like to ask)
- Why I want to join mobbin
- What other companies u applied to
After the interview, I managed to ask them a few questions.
- How are the teams structured (damm i forgot what was the answer, but there is a team for product, growth, and some ML team iirc)
- What they are working on now (the CTO is leading the ML team, and they also mention that they are trying to find new ways to get access to user flows from apps that are difficult to access, I believe they used an example of the tesla app)
- What is the interview process like (behavioural → technical → meet the team → CEO → offer)
These are all that I could remember, nothing out of the ordinary. Got an email invite the next day for the next round, the technical round.
Round 2
So here is where I failed. To be honest, I did not put in much effort here and the CTO gave me more chances that I deserve. Maybe because just the day before I got an offer, so I kinda went in with a “let’s just try attitude”
First half of the interview was a live coding. Interesting part is that the coding was done by the CTO and u are supposed to direct the CTO and how and what to code. The question was to code a deepEquals method in typescript. I struggled hard. Here were some problems that I faced with
- Gave some base cases, but did not give complete base cases (were missing some cases)
- Unfamiliarity with the syntax and quirks of typescript
- Struggled with types of unknown and any
Interestingly, when I indicated that I wanted to create some testcases and run the code, the CTO said that testcases only give you a false sense of security and you only can be sure that a code is correct by giving correct base cases. After a really long time, I managed to get the code right and passed to the second half. Honestly think that the CTO gave me a lot of chances here, should have failed outright.
Second half of the interview was a rapid fire questions round. Handled the first few questions well, such as what is the difference between = and , but I stumbled at the last few very specific javascript questions, like where variables are stored, on the stack or heap. Also screwed up a question on databases, and thats when i failed. Nothing surprising there.
After the interview, I managed to ask the CTO several insightful questions. I forgot what was the exact question that I asked, but his answer will always stick with me. He mentioned that many big tech are very functionally siloed (this is a term I will soon come to use very often), as these companies make you master a certain field only. And he also mentioned how he like his engineers to be a T-shaped engineer (another interesting term, meaning that a generalist, but a master of one). He also recommended me a site to learn javascript (of which i forgot, maybe I’ll dig it out when the time comes).