Initially I was contacted by the recruiter on linkedin. Then I sent my resume by for review and was selected for the first phone screen. Phone screen went well, question was about tree data structure. I was selected for the next round. It was a 2.5 hour phone interview by 3 interviewers taken separately and spanned variety of CS fundamentals. I was also given a lot of information about the company itself and the product. By this time I had known how technology intensive the job was. I was selected and this time there was a 4 hour round by 4 separate interviewers focused mainly on testing and fundamentals of python scripting. All these were phone screens. After this they came to a conclusion that they hadn't tested me properly on operating systems and also my understanding of their product. So they were kind enough to give me ample time to study up on operating systems and their product, I was in a hurry though as I had another offer in hand and had to give them a decision. I took around 3 days to prepare and had one last phone screen for 1 hour. It went well and I was given an offer. I had only phone screens as they do onsite only for local candidates.