I had three phone interviews: two screening and one technical. Then, I was invited on-site for two more technical interviews of about 2 hours each. Phone interviews included many questions in theory of computer architecture, object oriented programming and software development. On-site also included answering programming questions on whiteboard