It's a tough interview process, as are all of these interviews at the top firms. There are many steps to complete, and it takes some time. I think it took about 6-7 weeks from coding screen to offer, so hang in there.
Completed an online coding screen (LC type problems) after recruiter call. It was actually pretty nerve-wracking as you have to use an online tool, and the timer is just ticking down in the corner.
After the online screen, I had a phone interview round, which is again LC type problems. If you're comfortable with LC medium you should be fine here. This round was the easiest. I solved it the problem to the interviewer's satisfaction in around 30 minutes, and had the rest of the time to ask questions. This interview ended early, and I felt good about it. Recruiter called me two hours later and said feedback was great.
For the onsite, I had a lot of rounds. Like all engineering onsites, it was grueling. I had five rounds: one more LC (I got a LC medium, which I completed in 15-20 mins, and they followed up with a LC hard, which I mostly completed, but wasn't perfect on), iOS debugging, system design (iOS client), and two behavioral-ish rounds (you might get asked light tech trivia in the behavioral rounds, nothing scary). I don't care what anyone says, these interviews are draining and you feel exhausted no matter how you did.
My recruiter contacted me 8-10 days later (the long wait had me nervous!) with what I felt was a very strong offer.
Everyone throughout the process was very professional, and I felt valued and treated with respect throughout.