I applied at Snapchat and interviewed via Google Hangouts. I answered every question correctly, except for the coding portion. The outcome of that portion was to remove two return statements and move a comparison operation in front of the base case.
My interviewer did not seem to understand very basic CS concepts. After he admitted he didn't remember the merit of using a Linked List or when to use one, I explained that Linked Lists are faster for insertions and removals.
I went above and beyond in explaining the questions and how they related to concepts I knew, outside of what was asked. Because of this, I was told I gave a sufficient answer during the coding portion, though the interviewer suggested it might be good to debug the solution while talking. I answered their questions very well, explained my thought process, and followed the interview process closely. Therefore, I didn't see much room for improvement, yet I was still rejected because I was not 'a perfect match in the qualities sought in the iOS Engineering position.' I do not understand this decision at all, based on my performance.
Write a function to calculate the height of a binary tree.
What are the merits of using an ArrayList versus a LinkedList?
How would you implement Merge Sort and Quick Sort? What are their time complexities?
The following metrics were computed from 2 interview experiences for the Snap iOS Engineer role in San Francisco, California.
Snap's interview process for their iOS Engineer roles in San Francisco, California is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for Snap's iOS Engineer interview process in San Francisco, California.