I interviewed at Pinterest for a Software Engineer position in June . The interview process consisted of a phone screen and an onsite interview.
The phone screen involved a coding question similar to the Course Schedule II problem on Leetcode.
The onsite interview consisted of five rounds: three coding rounds, one behavioral round, and one system design round. Each round was approximately 45 minutes long, except for the system design round, which was an hour.
The first coding round involved a question about traversing a board with a given starting point and determining if the end of the board could be reached. The second coding round involved a question about finding the order in which courses could be completed, given a list of courses and their prerequisites. This question was similar to the Course Schedule II problem on Leetcode.
The third round was a behavioral interview with the hiring manager. I was asked about my past experiences, projects, team dynamics, and why I was interested in Pinterest.
The system design round involved designing an autocomplete feature for Pinterest. I discussed microservice architecture, scaling, and other relevant topics.
The final round involved an ad hoc coding question about iterating over elements. This question was not similar to typical Leetcode questions, and I was able to provide a unique solution that impressed the interviewer.
Overall, I found the interview process to be challenging but fair. The coding questions were all of medium difficulty, and I was able to solve them with follow-up questions and explain the time and space complexity. I felt that I could have done better in the system design round.
Three days later, I received an email informing me that I was rejected. The email stated that they were unable to gauge my technical depth. I am unsure what they were looking for, but I will continue to apply for positions at Pinterest until I receive an offer.