I applied online and talked to 7 people in total. The process took 3 weeks.
1. coding challenge (pretty standard dictionary/set problem)
2. recruiter phone screen (hr questions, why yelp, etc)
3. technical interview with coding (background, what do you do, another dictionary question for the live coding part)
4. pre-onsite hr call just to check how things are going to be
5. "onsite" - 4 interviews spread among engineering practices, background, problem solving, projects, security scenarios, red teaming exercise, etc.
6. another technical interview on infrastructure security
My last interview on step 5 was with the hiring manager, and he basically opened up with the phrase "I was looking at your CV and it was hard to find anything interesting to talk about."
At first I thought he was joking, then he asked about a project from two years ago that I did on my internship, so I realized he actually didn't find anything more recent. It's ok if I wasn't a good match for what he was looking for, it happens all the time, and we're all used to it. I just felt incredibly disrespected because 1) I got to know this after 5 interviews (why would a hiring manager only review a potential candidate's profile at the onsite?), 2) why would anyone say this to a person during an interview?
Also, overall people seemed very bored when talking, and I didn't feel like I wanted to work there.
After the onsite, I got an email from the recruiter saying I could be a better fit for another sub-team within security, and that I should speak with someone else. At this point, and after that horrible experience with the hiring manager and overall onsite feeling, I honestly did not want to do that, but thought I should finish just because I had done 6 interviews already.