Applied online and received email 1 month later asking to schedule two phone interviews. There was two back to back interviews and each lasted about 45 minutes.
The first interviewer was very nice. He asked about projects on my resume and then some basic conceptual questions about linked list, inheritance and polymorphism. Then two coding questions, one was to count the number of 1s in an interger`s binary representation, the other was merge two sorted linked list. I had to write them down on paper and read the code back. This was followed by the classic phone number extraction question, which I solved using find/grep/wc combination in Unix. At last, he asked an OO design question. I managed to solve it partially and there was no time left.
The second interviewer was an Indian guy and he had heavy accent. Basically I couldn`t understant his speech. He went through my resume, asked OO design concepts, and then the difference between an array and a linked list. The coding question was to find prime numbers in a given range. Also asked how to print a binary tree in level order, which I don`t need to write code. The final question was how to find intersections of two arrays and how to handle duplicates.
Overall the interview process is smooth and easy. I receive the offer letter one week later.