It took about three weeks after applying for the position before the company responded. I was given an outline of the phone screen interviews and a brief idea of the expectations. Most of the questions posted on Glassdoor came up to some degree.
My first interview was a phone screen, mostly behavioral with very little diving into technical knowledge. After that, they followed up with a technical phone screen with the hiring manager. The questions weren’t too difficult (easy on LeetCode) but they seemed to be looking for intangible skills that could benefit the team.
The second technical phone screen was scheduled, but unfortunately my interviewer had to be subbed in last minute due to an ongoing issue. I wasn't a particular fan of that, as it adds increased stress on the interviewee of not knowing anything about your interviewer. Luckily, this worked in my favor. The second phone interviewer asked two easy/medium level questions and was cheerful, but also understanding of the pressure, which made it easier to think through my thoughts.
The on-site interview was a little more challenging. It was broken into three technical interviews, a lunch behavioral interview, and one remaining behavioral interview. Prior to going on-site, the recruiter couldn’t provide too much information, which is expected. The problems were closely related to the tasks the team you may join does. A lot of it was about whether you can program, but more importantly, whether you can identify where you struggle and find a solution.
One interview was a system design. Another was an explanation of a project you worked on, how you contributed, where you voiced your opinion, and the technical design. The coding portion was related to building a feature using an API, which closely resembles the core of the company’s product.
All in all, I think the questions were fair. They weren’t hard, per se, but they focused more on the skills needed to answer a question in a working scenario rather than purely LeetCode problems. Despite doubting myself, I was pleasantly surprised to receive an offer. I would say it is important to be confident in your system design and weigh the pros and cons of a solution before implementing.
Given a combination of brackets, parentheses, and curly braces, tell me if it is balanced.
Examples: “(){}[]” = True “(])[“ = False
How would you design an API for this product?
The following metrics were computed from 17 interview experiences for the Twilio Software Engineer role in San Francisco, California.
Twilio's interview process for their Software Engineer roles in San Francisco, California is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Twilio's Software Engineer interview process in San Francisco, California.