Cambly Software Engineer Interview experience 2021
Cambly is a company that let you have conversation with native english speaker on your computer or mobile device.
- You get one-on-one tutoring so you have the freedom to ask for whatever help you need.
- You can choose any tutor and schedule time with him or her.
- Cambly is extremely flexible — you can work with tutors anytime and for as long as you like!
- You can work through one or more of their courses or practice English speaking skills through conversation.
Interview process
First round: Karat (10/8 and 10/10)
Cambly cooperate with Karat to conduct their first round interview, you can redo the interview if you did’t satisfy with your first round performance, and that’s what I did.
Each interview consists of 10 minutes of theoretical questions and 45 minutes of coding, the coding questions will start with leetcode easy question, then it will be medium level once you solve it.
Karat 1st round
solved one easy question and finished the medium question with a bug, so I decided to redo the interview
Karat 2nd round
solved one easy and one medium question in time, but didn’t have time for the third question.
Karat sent both interview results to Cambly, and Cambly notify me for next round of interview the next day.
Second round: Recruiter phone call (10/13)
This round is non-technical and the recruiter just wanted to get a better sense of my background as well as answer questions I may have.
Third round: technical interview (10/15)
10 minutes of resume questions and 50 minutes coding using CoderPad
Question: merge interval
This was the question they will face while students schedule their sessions with tutors. I used the wrong approach to solve this problem, it passed the given test cases, but I provided test cases that my algorithm won’t work. In the last 5 minutes of interview, I decribed a solution which could work but I just didn’t have enough time to implement it. The interviewer was nice and kept encouraging me during the process. A day after I received notice that I passed this round and proceed to final round.
Final round: 2 technical interview (10/18)+ 1 system design interview (10/20):
Technical Interviews
Both technical interviews were last round which involves 10 minutes of resume questions and 50 minutes of coding.
Questions:
Longest Substring with At Most Two Distinct Characters
For these two questions, I was able to solve them in time starting from describing the brute force solution and then the optimized one, and explain the correct time complexity in the end.
System Design interview
10 minutes of resume questions and 50 minutes of system design
This was my first system design interview and the person interviewing me was the engineering manager at Cambly, so I don’t feel confident about this round.
Question: Design a service that student can know how many tutors are online now?
I drawed couple diagram that decribe my data schema for tutor and student and store the last active timestamp for tutor in database, so the student can check which tutors are available by calling a query to database to check their last active timestamps. The interviewer told my approach could work, so I just spend the remaining thirty minutes asking him questions.
Result (10/27)
Rejection. Overall the interview experience is really good, hope I will pass my Amazon on-site next week 🤛