I applied through recruiter. The overall process took 2 month and there was following stages.
1. Short Skype interview with HR
2. They sent link to codility challenge
3. Once it done, they arranged Skype interview for 3.5 hrs;
actually, there was 3 separate interviews, but in a row:
3.1 First one was about online coding session, mostly about implementing popular algorithms and comparison their time/space complexity. They looking for Golang Developers, however at the moment I applied there was no one in theic company who knows its syntax, so I used Python because of that.
3.2 Second was design interview, again nothing complex, interviewer sent link to some online service displayed design of some client-server application with DB and 3rd party (payment) service. You have to point out pros and cons of the solution, offer improvements and discuss trade-offs.
3.3 Third one was motivational interview with VP Engineering. Lots of soft-skills stuff and questions like "If I call your employer or colleagues, what they could say about you?"
After the last interview I was sure I managed with most of questions quite well. However, instead of formal acceptance/decline, for several weeks after the interview they sent me promises to give their feedback (and/or decision) and eventually disappeared.
If they have no time or desire to provide a final decision, why you should have a business with them? It's really waste of time.