The day after I applied for the Software Development Engineer, New Grad position, I was sent an email by a recruiter asking me to complete a coding challenge as the first phase of the interview process. The two challenges were to write a function to convert a string to an integer and to write the functionality for adding and removing nodes from a ternary tree. While these seem simple, it only takes a few minutes of looking through these Glassdoor reviews to see that many people do not get past this step. For the conversion function, keep in mind that there are many more numbers that can be represented by strings than can be represented by integers. For the ternary tree, make sure that all necessary connections between nodes are created on node addition and severed on node deletion. Spend a good amount of time carefully reading through the specifications provided in the challenge descriptions, as Zillow takes this portion of the process quite seriously.
After completing the online coding challenge, the recruiter reached out to me saying that I had made it to the next phase in the interview process, which involves one or two phone screens. Zillow uses a program called HackerRank for code sharing during these interviews, which allows for auto-indention and some basic text-highlighting, but not too much else. The first phone interviewer asked me a question that ultimately was to find the lowest common ancestor of two nodes in a tree. The second interviewer asked me to write a function to reverse a number. Both of these questions seem simple on the surface, but involve a lot of considerations as far as identifying the constraints of the problem and choosing appropriate data structures to complete the task in the most efficient way possible. It is important to always discuss trade-offs of different approaches, as there will almost always be multiple ways to tackle each problem. Do not let the apparent simplicity of a problem fool you into a poor performance in these interviews.
The final phase of the interview process was a day of on-site interviews. While most people on Glassdoor say that they had two or three one hour interviews, I actually completed four. Each of the interviews were formatted almost exactly the same way as the phone screens were, except in-person using a white-board wall to write code on. This seems fairly typical of tech companies, though. Again, the same tips apply here as in the phone interview phase, so just stay relaxed and honestly try to have fun with it. The interviewers I had were all great at challenging me to consider multiple approaches and adding new complexities to make the problems more interesting as the interviews went on.
The day following my on-site interviews, I received a phone call with an amazing offer to join the Zillow team! All in all, I had a highly pleasant experience interviewing with Zillow. It was a smooth process that felt both challenging and rewarding to have gone through.