I had a first interview with the HR department. The company was introduced to me and then I introduced myself. They checked my experience and if I was sufficiently fluent in English for the position. Then, I had a brief interview with a manager. I was introduced more specifically to the project the position was intended for, and I introduced myself and my skills accordingly. Finally, I did some technical tests and discussed in further details with senior developers. Later, HR department contacted me to confirm they wanted me for the position (in another team but anyway) and we discussed about the contract terms, etc.