First email arrived 1 day after I sent my resume.
It was a pre-test with 3 basic questions (Fibonacci, combinatorial algorithms) and other questions related to background and skills.
This pre-test was to complete within 1 week.
Shortly after (~2 days), I was sent a RemoteInterview challenge.
The test was to be completed in 60 minutes; 12 questions (1-8 backend related, 9-12 mobile related) which were quite broad.
Next day I was notified of the result, and scheduled first technical interview through Skype.
The first technical interview revolves around the answers given in the 60min test (in fact, they will read the test replies during the interview for the first time).
There were 2 server-side developers (probably seniors) and 1 translator.
Questions were quite basic and simple, but very broad (e.g. "have you ever developed a multithreaded app?", "do multithreaded apps run on all CPU cores? differences between different languages", "talk me about quicksort", "what is a GC? how does it work? which GC strategy uses Java? which Python?).
The interview lasted 2 hours, and I was allowed to ask questions at the end of it.
Though I did quite bad at this interview (c'mon, quicksort worst case, it's been 4 years since I last studied it) I was asked of a second interview ~30mins after this interview.
Second interview was with another server-side developer (probably manager).
It was very pleasant and we talked about past experiences, problems and solutions adopted.
I was, then, asked to design a distributed system given some preconditions on traffic and infrastructure (which I failed, I think).
Next day I was notified of the rejection of my application.
Overall, the interview should be pretty simple to those who get to study (again) the questions asked in the 60min test.
Though the application was for "+1yr professional experience" engineers, they want experienced engineers in Java.
They seem to care A LOT about GC theory, tunings, memory leak prevention and debugging, and non-blocking /asynchronous I/O.