Step 1:
I submitted the application online. Recruiter contacted me few weeks later. We had a phone call and he asked a few general question.
Within one week, there is an arrangement for interview. The process was smooth and efficient.
Step 2:
The actual interview: there were two one-hour-each back-to-back interview sessions for the first round. The first interviewer seems to have arrogant attitude and the way he talked, at best, is condescending. Didn't really listen to your answer until the end, for open-ended questions. Then he asked a few algorithm questions. That's where I tripped. To be fair, the questions are simple. But the interviewer constantly kept making condescending comments in the scolding tone while I was trying to come up with brute-force approach. Chill, dude. Candidates are already under interview pressure. It doesn't help them think clearly if you are being unfriendly and judgemental while they code.
The second session went a bit better. But I don't think I would pass this round.
My View:
To me, interviewers should work together with the candidates to come up with the solution rather than judging them constantly during the interviews.
Unless, Apple culture is about judging your coworkers constantly (in a bad unproductive way) just to put them down, which I hope not.
General Rant:
And also, I hate the fact that interviewers didn't let the candidates to think themselves silently for maybe 1 minute. They expect the candidate to immediately start talking aloud once the question has been explained. But obviously, programmers are not known for talking aloud what they are thinking while coding.
I have had more pleasant interviews with better interviewers from far less famous non-FAANG companies. So, I was expecting somewhat positive experience from Apple but, well, it is what it is.
If you have an upcoming Apple interview, I wish you not to have the same interviewer that I had. You will be generally fine other than that.
TL;DR
Smooth process, (relatively) easy coding questions, arrogant/unfriendly interviewer.