Process started with recruiter directly scheduling a 2 hour tech screen for DSA type questions. I prepared mostly leetcode mediums and basic iOS knowledge. Questions were quite easy to handle (leetcode easy/medium level), both related to basic data structures (arrays, intervals) with some iOS twist (mostly related to designing a struct/class). Interviewers were very cooperative and happy to help whenever needed. For the onsite, there were 4 rounds, first 2 round were app design from scratch where I was shown a requirement beforehand (along with wireframe). The task involved setting up network layer, architecture and table view. I would recommend focus on creating basic table view applications with infinite loading, image views and caching. Next round was system design, and probably the one that threw me off a little. Instead of standard system design interview, this was completely focused on debugging skills. I was given a badly written Xcode project and was asked to fix the issues one by one, and then last 20 mins on how would I improve the project. The architecture was so different than the standard ones, and therefore took quite some time just to understand the code. I was still able to complete the task and suggest a bunch of improvements. Final round was behavior with the hiring manager. Pretty standard scenario based questions, mostly focused on my past. Seemed like, He came with a list of questions and went through all of those one by one. But very friendly person all and all. Process was quite easy to navigate and difficulty level was quite average. I was happy with my performance and therefor surprised to not receive an offer.