This was my favorite interview during my job search. It was a good mix of experience-based, knowledge-based, coding, and design questions. It definitely was not easy, but the reason I liked it so much was that it did not include solving annoying coding "puzzles" in which some secret algorithm is the answer. Instead, it was more focused on overall design. Even the coding questions were more of the type "please write some code to design me a class that would carry out this functionality for this example use case". Overall, the questions felt more like real engineering and casual conversation about design, rather than the interviewer sitting there in silence as you try to decipher a puzzle.