Contacted by recruiter, then had 45 minute easy technical interview over the phone, then they fly you from your home to the interview site and you interview with 4-6 other people asking both technical and personality questions. Technical questions are very difficult and they ask you to go as deep as possible. When you explain it to them, they keep saying.. "tell me more, what's next, tell me about this detail you mentioned". They often go off your resume and into tiny details like packets, frames, development, history of Linux, coding, and etc... Also, some questions are personality based and they try to rattle you and keep telling you to clarify something you explained already. They were actually very annoying and rude in my eyes. If they were not asking more annoying, they were bored typing away on their laptop and googling hard questions to stump you with. It was difficult, and I understand why they make it that way, but I think they waste money and time by not screening you over the phone to prepare you for the face to face. The initial phone interview was a cake walk compared to the face to face.