The process took 2 weeks. I interviewed at General Atomics (San Diego, CA) in Mar 2012
Interview
had a phone interview for about 40mins~1hr. At the end of the phone interview I asked that if I am likely be moving forward to the next interview and was confirmed that I will definitely be asked for the next on-site interview. At the on-site interview, had an interview with an HR guy. He was really nice and motivated and encouraged me to join their company. After an hour long interview with the HR guy, had a group interview with three software engineers. Basically they asked about my projects and things on the resume. There were some other questions they asked but they were reasonable and straightforward. After another hour long interview with group of engineers, I took an hour long programming assessment. They said that it is not a test and it is only to see "how" you program, not "how well" you program. The assessment was very reasonable and a guy sits next to you for any questions you got. However, I think I screwed up on the programming exercise.
Initial 30 minute phone screening. Second interview was an hour going over my previous work experience and technical questions that consisted of OOP fundamentals, pointers & references, mutex locks, TCP vs UDP, virtual funcitons
Interview questions [1]
Question 1
How would you troubleshoot HW & SW network communication?
Straight forward - 30 minutes phone screen with behavioral and technical questions on C++.
Followed by 5 hour in-person or virtual interview which included both technical and behavioral questions. Each hour was a different interview with different people.
A 30 minute microsoft teams meeting with questions regarding basic C++/C knowledge, resume review, and generic behavioral questions. Delved specifically into how I work in a team environment, personal strengths and weaknesses, and how to address difficult conversations.