I applied to this position through my university's engineering job postings. I received an email within a few weeks from HR. The HR representative screened me for basics such as work eligibility and date of graduation. I was also asked why I believe I am fit for this position.
Then I had a 45 minute technical phone screen that tested my knowledge of whatever languages I claimed to know. These questions consisted of basic container complexity questions (compare operations on an array versus operations on a list) to some problem solving questions (how do you know if a binary number is a power of 2 and how would you write a program to solve it). I was only asked questions relevant to what I claimed I knew beyond the basic algorithms material so it seemed like they wanted to know if I was a competent person who paid attention more so than if I was a human dictionary. It is important to understand complexity of elementary containers (lists, arrays, hash tables, binary trees), definitions of object oriented terminology (encapsulation, polymorphism, etc), and have a good understanding of most of the features in C++ and/or Java. If you have taken operating systems or database courses, that is a bonus.
Response was quick as I was contacted by the HR representative the next day for an on site interview. They were very accommodating; I was offered a rental car and a hotel room. The interview date was also very flexible. I had 6 interviews that lasted 45 minutes each. 4 of the 6 were either behavioral or asking about my projects. Occasionally they would slip in a technical question like what is polymorphism or what is multiple inheritance. During the two technical interviews was given the problem of writing a function to assist in solving a sudoku as well as writing a program that would solve the sudoku as well. This interview was intended to be a 2 on 1 interview but the other interviewer was not available. The other technical interview was another 2 on 1 where I was presented with a problem regarding writing a program to determine how many ways there are to make change for a given amount of money. The two technical interviews were intended for you to demonstrate how you think and how you might utilize group members to help you solve problems.
I was contacted about 2 weeks later notifying me that they had selected another candidate.