The process took about one week. Firstly, there was a technical phone screening, the interviewer asked questions about my background, experience and previous positions. After that, I was invited to an on-site interview. The interview consisted on three different stages and took the whole day to complete. It was very challenging, but very rewarding. In the first stage I was interviewed by a software engineer who asked me questions about my background (basically the same questions that they asked me on the phone screening). The second stage consisted of a pair-programming task on which I had to solve a problem by coding a real solution on Java, the software engineer was basically taking a look at my code, giving feedback and asking questions about the approaches I took, it was a tough and unexpected exercise. After that, there was a break on which I was invited to have lunch with other guys from the company, that was really cool and kind from them. In the final stage, a tech lead came to the room and we both designed an architectural solution for implementing a web application, at this point I was very relaxed and enthusiastic. The three guys that interviewed me were very polite and helpful. Although having all the interviews in one day was very tiring, I felt it was a good approach as you don't have to attend on different days, and more if you live in another city (like in my case), and more importantly, they gave me a result that same day (right immediately finishing the last interview).