did the full loop for a senior iOS role on the Maps team in may. five rounds total over about three weeks, not counting the recruiter screen and HM call that came before.
rounds 1-2 were coding. swift-heavy, which i expected, but they went deeper into memory management and concurrency than i anticipated. not just "what is ARC" but actual debugging scenarios. one problem was basically "here is a retain cycle, find it, fix it, explain why it happens"
round 3 was system design. they gave me a realistic mobile-side design problem (not a backend distributed systems thing, which i appreciated). focused a lot on offline state, sync conflicts, and battery/network tradeoffs. the interviewer pushed hard on how i'd handle degraded network conditions.
rounds 4-5 were behavioral, back to back. this is where i think people underprepare. they spent a LOT of time on influence without authority and on times i disagreed with a product decision and what i did. one interviewer asked me to tell the story three different ways at different levels of detail. they're definitely calibrating whether your examples are real or coached.
overall the process felt serious and not gameable. took 4.5 weeks from first screen to offer. the wait between rounds is just how they operate, don't read into it.