First stage was a phone screen, where you get asked some basic technical questions. This was followed by an online technical test with 2-3 problems to solve using any programming language of your choice. Final stage was a face to face where you have to explain why you chose to complete the assignment in a certain way and then some more general technical questions.