First off, don’t be fooled by their job postings. They have a specific interview process and are looking for a specific type of person – and it is not what is in their job posts.
For example, the first line of the job post I received from an external recruiter was “Driven results within a strong, talented, opinionated team, and have a solid track record of project delivery.” In the roughly two hours I spent in two phone screens, not one question was tailored toward figuring out if I fit the description posted, or any other soft skills. It’s purely technical, and they are looking to see that you won’t question their existing processes.
I was initially contacted by an internal recruiter a year back and turned down the opportunity to interview, as I did not think I would be a cultural fit for their fast-paced “speed wins” culture, which I suspected was leading to a deteriorating codebase with tons of code duplication.
A year later, an external recruiter sent me a team lead job description that seemed in line with my beliefs. When he revealed it was for TripAdvisor, I was surprised because the description did not match the culture. So, I decided to give it a shot. Within a couple of days, I had my first phone screen scheduled.
During my first phone screen, the interviewer asked what I was doing currently. Then, I was immediately asked to do a coding problem on a virtual whiteboard, which took up most of the interview. He allowed me to ask some questions at the end. He dodged any questions related to code maintainability. He did not even know what position I was interviewing for, which I thought was a bit odd. Overall, I thought I did poorly on the technical question and did not expect a callback.
To my surprise, they contacted me the next day for another phone screen. It was exactly the same format as the first phone screen: a single question on what I was currently doing, followed by a virtual coding question, and then some technical questions related to caching (How do you size your cache? How does an LRU cache work? Are objects serialized in the cache?). The virtual whiteboard question was to write code to determine if two binary trees were equal. Again, I was given the opportunity to ask questions at the end. And again, questions around code complexity and maintainability were dodged. I even stumped the interviewer when I asked what the current technical challenges they were facing.
I thought I did extremely well on the second phone screen, at least technically. And considering I got called back after doing poorly on the first one, I thought there was no doubt they would continue the process. Instead, I received an email three days later stating that they were not moving forward.
Overall, if you brush up on your data structures (hashtables, lists, sets, trees, etc.) and practice a bunch of algorithm questions (like those found on CareerCup), and also understand Big O, then you can very easily ace the technical portion of the interview.
In terms of culture, your best bet is to come across in a manner that you agree with the “speed wins” mantra as the best process for developing applications. And definitely don’t question any of their existing processes. I suspect this hurt me the most, as they had recorded my comments to the internal recruiter a year before, and in the end, it was probably used against me. Unlike their posts, they really are not looking for someone that can think on their own.
Given two strings, see if the second string contains an anagram of the first string.
Write a function to see if two binary trees are equal.
The following metrics were computed from 1 interview experience for the Tripadvisor Software Engineer/Team Lead role in United States.
Tripadvisor's interview process for their Software Engineer/Team Lead roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for Tripadvisor's Software Engineer/Team Lead interview process in United States.