First round screening is a programming assignment, we are given a week to solve two questions (actually only have to submit one at minimum), can choose C++ or Java.
Afterwards, candidates would be invited to attend a 1 hour ~ 3 hour interview session, it consists of one round of technical test, one-to-one, in front of an engineer. Questions are of average difficulty, including classic permutation, sub-string problems. After that, there would be a 1-hour written test, an aptitude test, focusing on logical thinking, numerical skills. If the result is satisfying, you would be given an offer right away after another round of HR interview.