The hiring process included three interview phases: initial phone screen, baseline product knowledge assessment over the phone, and a five hour in-person interview loop.
The initial phone screen went well. The recruiter was very energetic and did a great job of explaining the aspects of the position, as well as the overall company culture. My info was forwarded to another team member to coordinate the remainder of my interviews with staff at Zillow.
The second interview was a general product knowledge assessment over the phone. The bulk of the interview process was spent answering questions related to data types, built-in functions, and problem solving/query design. The interview lasted about 20 to 30 minutes. At the end of the interview, the interviewer pointed out a few areas of suggested improvement, which was very much appreciated. He then sent my information back to the coordinator to move on to the final phase of the process.
The final interview was in-person at the Seattle office. The interview lasted five hours, which included a working lunch with the hiring manager. I met with five individuals over the course of the five hour interview loop, and the questions varied in form and complexity. There were situational questions, data modeling design/questions, requests to design queries based on the data models created, query optimization suggestions, and debugging/tuning best practices. All of the modeling and query design was performed on a whiteboard as the problems were stated by the interviewer.
The lead recruiter met with me at the end of the interview loop and went over the details of the position one last time, and was told she would be in touch with me within two or three days. I was contacted by her with an offer within 36 hours of the in-person interview, and I formally accepted the position the following day.
I’ve graded the interview process as “difficult” given the breadth of topics covered during both the baseline product knowledge phone screen and the five hour in-person interview.