The first step was a multiple choice questionnaire (not timed): Questions regarding C programming, data types, and some basic algorithms.
The second step was a coding test: Implement a K-means clustering algorithm in C and submit the source code. The algorithm was already described, but the test was to take data input from a file, cluster it and output another file with the corresponding cluster assignment for each data point in the input file
The third step was a face to face interview: Talk about previous experience and some technical and logical questions.