First they send you an e-mail with numerical reasoning test, and you have cca 10 days to finish it. This is basically processing data from the tables, calculating some kind of average from the columns and stuff like that. It is not that hard, but limited time can be a problem. Calculator is allowed.
Second phase is speaking to the HR over the telephone and telling some basic stuff about yourself, like what is that you are currently doing, on what particular role are you interested, in what technologies you have experience and what would you like to do, when you are available and for how long, etc.
Third phase is technical telephone interview. It is 1 on 1 with an interviewer, they send you a link to some kind of online text editor where you write code, and the interviewer sees it in live time. Generally they test your problem solving ability. You are given some basic problem, like remove all duplicates from the array, and then there are follow up questions to this problems, like how can you improve this algorithm if you knew that the value of element in the array is always between 0 and array size. I also got a question to code a function that tests whether a binary tree is a binary search tree.
Fourth and final phase is the onsite interview. You have all the expenses covered, and hotel and plain is also booked for you for the time frame in accordance to what you previously stated with your recruiter. If you provide the bills, taxi and food are also reimbursed. The onsite interview I had consisted of 3 rounds, each round with one recruiter who interviews you for one specific problem. Basically the same procedure as the phone interview, but this time you are coding it on the whiteboard.
So yeah, it is basically the problem solving ability. It can be trained by practicing by the Cracking the coding interview book, and whatever algorithmic problems you find online.