First step: receive a formal invitation to the introduction meeting.
The last time I applied to the same position, I was rejected with a formal template without explaining why I did not suit them.
The first introduction interview (1 hour):
I had a meeting with the iOS developer and Product Owner of one of the projects.
We spoke about my experiences and awareness of some frameworks, best practice, and technologies.
Communication with other teams.
My failed and successes stories.
No coding.
The second part:
a technical assignment.
I spent around 16 hours on implementation + leaved notes about improvements which I will be glad to add if I have more time).
I received an invitation to the next step without any technical feedback about my implementation.
The third part (1 hour):
a technical interview with two iOS developers.
I was very disappointed with that tech interview.
It looked like an interrogation of a witness when reviewers are trying to find your weakness.
They don't give you opportunities to finish your idea or chain of logical explanations.
Initially, it was a screen sharing from one of the reviewers.
He showed me code in the Xcode playground and asked about the complexity of functions, how I could improve it, expected print output, and more.
Then we spoke about another playground and then about one more.
I think I answered around 80-100 questions related to iOS frameworks, Xcode, Swift, memory management, multithreading, performance, core data, security, the complexity of functions, properties of the class, etc.
Sometimes reviewers said it was the expected answer, sometimes just jumped to the next question.
Sometimes they asked something tricked and not common (like using a .map to unwrap optional), sometimes some simple question.
Very often I was interrupted by one of a reviewer and that become me a little bit irritated.
I didn't feel comfortable with them.