Recruiter reached out via email for an iOS engineering role. After an exploratory call, they scheduled a phone screen. The phone screen was an iOS-based question with a simple algorithm, quite practical, not very leetcode-y, which was good.
The virtual onsite consisted of 4 interviews:
- Practical iOS coding question where they provide you with an Xcode project and ask you to implement features. Straightforward, normal daily iOS tasks.
- An interview where they ask you about past projects. They ask you to prepare some visuals for reference.
- A systems design / architecture interview. They give you mocks for an iOS app and you talk through how to implement / design this on the client.
- An interview with both a designer and an engineer where they walk you through a Figma spec and you talk through the features, requirements, technical challenges. This was phrased like a hand-off meeting if you were to go and implement the feature after. Very different from other interviews but fun once you get into the flow of things.
Assuming those interviews go well, they then schedule 2 cultural / behavioral interviews for 30 min each as well as an interview with the hiring manager.
Then you get an offer! There was a little room for negotiation but not much, I think it really depends on how you do in the interview. Mine went well but not amazing, so I wasn't able to get much extra during negotiations.