The recruiting process was initiated by me. I filled out a form on the Yandexes corporate web-site. After a week I received an e-mail from an HR agent from the company. The email contained two problems to solve, and you are given two weeks to do that. The tasks themselves are not very hard in terms of complexity, but never the less you have to put a lot of effort in them, because one of the rules is to write your own shared libraries.
Two weeks after emailing the solution, I was invited for an interview in the main office of the company. The interview was not that difficult either - basic computer algorithms, data structures, design-patterns and application architecture. Also there was a JavaScript syntax and semantics test (medium to advanced level knowledge of the language). The interview took about two and a half hours. I recommend getting something to drink before you get in the room, like a bottle of water, because in the end your mouth will probably be dry as hell.
Two weeks later I received an email for a second interview. As I understood later, the first interview was sort of an basic software engineering interview. The second interview was already in the project team that I was assigned for. The interview was much shorter and concentrated on my professional goals, education and experience. There was a little talk about object-oriented programing and that was all.
On the next I got an email from the recruiter for my assistance with the legal actions of hiring me.