First of all they sent me a programming test that consisted to develop some functions of a trading platform for some goods. This test had a time limit of 3 hours. The test is feasible in the time given, but pay attention to optimize the data structures used and the algorithms complexity.
The second step was the tecnhical interview. This interview was a bit difficult. It started with a code review of the code written in the online test with a discussion of what could be improved to decrese the temporal complexity. After this, the interview carried on with some questions on a case study and what were the best methods to implement the algorithms and enviromental assumptions that could be made.
Finally, there were some other minor questions about how to improve the performances of Java applications.
The tecnhical interview was held by two very competent people and even if it was difficult, it has been a pleasure to discuss with them some technical questions, since for every one of them they explained why it was better to do in another way than the one I proposed, if mine wasn't good enough.
The whole interview lasted around 1:30 hours, including some of my questions to them.
The next step would have been an interview with the HR, but I didn't pass the technical one. The feedback arrived around 2 weeks later from the technical interview.