Phone call followed by an online questionnaire with some logic and spot-the-difference questions and then a formal interview. Questions were pretty simple, what you know, how school went, any previous job experience, asked several questions about programming, what inheritance/polymorphism was, write a quick algorithm to shuffle a deck of cards. After that had a meeting with HR about benefits and salary negotiations.