I applied online. After one brief interview with recruiter (there were simple technical questions that every ios engineer should answer pretty easy), I had 2 screening interviews with Yelp engineers - there was 20-25 minutes talking about my background and projects I mentioned in my resume and about 20 minutes coding some simple algorithmic question. After that I was invited to onsite interview in San Francisco. There were 4 interviews with different engineers, I was really afraid to do something wrong, and thought it will be longest hours in my life. But the time passed very quickly, everyone was friendly and inspired, we talk a lot about my past projects, Yelp app itself and the company culture, discussed some tradeoffs in technologies and of course I did whiteboard coding (recruiter will tell you if it's required so prepare for that). In 3 working days after the interview recruiter contacted me to make an offer which I gladly accepted.