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 phone call with HR. Second interview was with one engineer. This interview consisted of reviewing my experience as well as technical questions. Third interview was panel style with a coding assessment provided to me prior to the interview. They asked to explain my code and how I would modify it given various scenarios.
Interview questions [1]
Question 1
General docker and k8s questions.
Time complexity of various data structures.
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.