To start off, I am a fresh college graduate (B.S.) in computer science and this was my first corporate interview ever. I simply applied on their website and was contacted in about a week.
I received a call from HR to kick off the process. It was about 1 hour long and mostly non-technical. A few simple technical questions like 'What is function overloading? overriding? What is a semaphore?', etc. but that was it. The usual questions were more like 'Describe your resume experiences. What is your favorite programming language?' etc. After that I was contacted in a few business days (less than a week) for an on site interview scheduled for 2 weeks later. They flew me in and paid for the rental car and hotel. The on site interview was actually a mini-interview to start, 4 1-hour interviews, and a free lunch intermission tour of the campus and offices. The mini-interview was just a recap of the previous HR interview with an HR representative. Then I had a 1:1 interview where I was asked to solve a problem with the interviewer. Given a general Image View that can zoom, pan, scroll, etc. write an algorithm that can determine the absolute image coordinates of a user click even if they have zoomed in and/or scrolled. It was an interesting problem and I had a semi-working solution by the time the interview was over. Then I had a panel interview with 1 project manager and 2 team leaders. This was more laid back. We talked about the research I did in college and my opinions about different programming languages. The third interview was 1:1 and it was half technical. First I talked about major projects and challenges I had worked on and then the second half was rapid fire questions about C and a little object oriented stuff. Questions like: 'Write a routine to do an in order traversal of a binary tree (then do it without recursion). How would you set only 1 bit in a 32 bit value. What is the difference between big and little endian? Here are some common data structures, where would you normally see them and why? Explain negative runtime impacts caused by inheritance.' Then there was a free lunch tour with a regular employee. After that was my last 1:1 interview. There was a quick discussion and then all technical questions. I had teaching assistant experience on my resume and the interviewer asked me to teach him what a semaphore was. Then he showed me some C code and asked me what was wrong with it. Then finally he gave me a problem to solve in less than 10 minutes. The problem was to shuffle a deck of cards. I barely got a solution down that I explained while I was writing it. He was happy that I even finished a solution even though it was hideously inefficient. He was the only interviewer to ask me to see the self coding example that I was told to bring.
The interviewers were all pleasant and willing to work with me when I stumbled through some of the questions. There were a few tricky ones that I definitely was not able to answer right off the top of my head. One last note for what it's worth, all of my interviewers were white males with an average age probably in the mid to late twenties though there were a couple in their late thirties for sure. Overall the interviews were pretty simple and not very stressful.