The first stage as others have stated is the phone interview with the recruiter. The recruiter asks you the general stuff like why you want to work at Yelp and how you use Yelp. Then, as others have stated, there are the technical questions. To get them right, just make sure you remember the running times and implementations of a binary tree, linked list, array, and hash table. You will also be asked a grep-like UNIX question as well a general web programming question. The recruiter I talked to was okay on the phone and not that enthusiastic. At the same time, the recruiter wasn't bad by any means.
So to expand on the initial phone interview, apparently the recruiter doesn't read your cover letter or go over your resume for more than 10 seconds. On the Yelp site, it specifically states that they love cover letters and want you to write about why you want to work at Yelp in it (the cover letter). Despite following the instructions, the recruiter still asked me why I wanted to work at Yelp. Similarly there were a few more questions that I was asked that were answered specifically in my cover letter and resume. By this time I was pretty sour on Yelp and didn't really care anymore.
As far as the technical questions go, it makes absolutely no sense to give the recruiter technical questions to ask an engineer as others have stated. More than a few times the recruiter would ask me a technical question and I'd start talking about other parts of the system that could influence the answer. The recruiter would then get incredibly confused. On that note some of the questions have multiple answers and they actually have a slightly incorrect answer to one of the questions they ask you.
So after the initial phone interview, you are then given a code test. It takes about a day or two and isn't all that challenging. Though with the problem they give you, you can continually expand on your solution to make it better and better. But I'd recommend not spending more than two days on it.
After the code test, you're given another phone interview with an engineer. The engineer was pretty cool to talk to. However, I was once again asked the same questions that were answered in my application and asked by the recruiter. I was asked a couple questions that didn't really have anything to do with what I listed on my resume. They were questions specific to Yelp technology and problems. Despite this, I actually did pretty well and answered every question correctly.
Fortunately, yes, fortunately, I was turned down after the phone interview with the engineer. Virtually being asked the same questions 3 times exhibits how much any single person there pays attention to the information you provide at any stage of the interview be it from your application or actual interviews. Being asked questions about things your resume clearly states you wouldn't know is another example of how careless they are during the interview process. It pretty much seems like it's just an exercise to interview people for fun. Otherwise they'd actually pay attention to what's going on. They should have turned my application down from the beginning since I hadn't worked with some of the stuff Yelp does.
All in all the interview process comes off as fairly arrogant and I wouldn't bother applying unless you work specifically with everything Yelp does (SQL, web programming, UNIX). You'll probably get an interview from them even if you don't list those on your resume. But they probably won't have much of any intention of actually hiring you despite how well you do in the interviews.