Stay away. Terrible and dishonest HR - the worst I've seen in a long time.
Got called for an on-site interview after applying. Arrived there in the morning and met with the recruiter, who took me and a group of other candidates to their main cafeteria / restaurant where we ate before the interviews started. After a while the recruiter just disappeared and we got worried because it was about time to start interviewing. We went back to the main lobby and had the receptionist call the recruiter to meet us again (this was weird). So, recruiter shows up again out of nowhere, takes us into a conference room and shows us videos about Yahoo on YouTube. I was expecting to have a (brief) office tour, but it never happened, so apparently it wasn't part of the plans. Anyone can see videos about Yahoo at home, so I'm not sure what's the point here. Then some developers arrived and we all split for 1:1 interviews in conference rooms. The interviews were standard software engineering coding questions (algorithms, data structures, design patterns, ...) and each interview lasted 45 minutes. I did 3 interviews and then they said we were done for the day and that the recruiter would reach out soon.
Despite my follow-up e-mails, the recruiter simply ignored me. It took the recruiter about a month to reply. I assumed they weren't interested in moving forward, but turns out I was wrong. Recruiter said I did really well and that they would prepare an offer package and present it to the Hiring Committee. I though this was good: yes, HR was kind of inefficient, but the office looked nice and I enjoyed interviewing there, so I gave them the benefit of the doubt. And then the wait again... it was another full month until the recruiter reached out (despite my efforts, recruiter kept ignoring my follow-up e-mails) to say that the package offer was approved by the committee. They sent me the offer, which was conditional on getting a US visa. They also mentioned that I could work from their office in London if I didn't get the visa for some reason, since I don't need a visa to work in London. I accepted the offer.
Then I waited a couple of months while Yahoo was taking care of preparing my visa petition. I eventually got confirmation that the petition had been sent to USCIS (the government office in the US that approves / denies visa applications). Apparently there is a year cap on the number of visas, and there are more applicants than the allotted number, so USCIS just runs a lottery to see who gets a visa.
For 4 months, I waited for someone to reach out to me with some updates. I got tired of waiting and reached out to the immigration attorney that prepared my petition, who informed me that I didn't make it in the lottery, and also that Yahoo had mentioned that I wouldn't be joining the company anyway the month before (so that's why the attorney didn't tell me about the lottery results).
I got pissed off and immediately e-mailed my prospective manager at Yahoo, who said the same: that the recruiting department said I wouldn't be joining the company any more. I also got to know that they didn't have a place for me in London because the team I was working with was in Sunnyvale (CA).
I'm really sad about what happened; I really expected a lot more from a company like Yahoo. The way candidates are treated is very unprofessional. Recruiters don't reply. HR lied by saying that I could go to London if I didn't get a visa. The whole company seems pretty messed up.
Needless to say, even though I accepted the offer, I obviously won't be working for Yahoo. I recommend other candidates to stay away.