I applied online for iOS software engineer role, And it took about two weeks to get the first response from HR.
First step was an HR interview about general questions and introduction less than 30 minutes.
Next step was an easy code assignment to implement a basic table view that show check marks in the cells based on bitwise calculations. it took 2~3 days (including unit tests).
Then I received a positive answer about the code assignment and invited for a technical video call with two developers (Including team leader). It took near an hour, asking simple and general questions about software development and decision makings and so on.
After that because I didn't have any visa (and visa preparation efforts), Instead of onsite interview I had two other video calls with other team members. In every video call I was talking to couple of people.
Whole process took around three month (Waiting for staffs coming back from vacations or trips).
In my opinion everything was fine except spend of a time, but finally I got a rejection email without any feedbacks.
I felt the process of hiring was not well designed. Spending three months and a very simple rejection response without any result is not professional.