First a Recruiter call. Then a Manager Interview and then loop with 4 interviews. All the interviewers were very nice. I was not offered position without any explanation though my interview was good. Then the recruiter called to say they had offered the position to someone before me so they could not offer it to me, but had another position. I was asked to talk to the manager who asked me for another code screen. In the code screen, I was asked a question, where i was asked to write a optimal time complexity solution which I did ( I even wrote a naive solution). I was asked to write a solution which was space efficient but not time efficient. I struggled to get it absolutely correct initially, but got it done just before interview got over. i was still not offered position. I should have never trusted the recruiter. Dont waste your time here... I dont think they are sincere or consistent in their recruitment process. The recruiter told me she had to offer the position to the other person because they also get graded based on how much time a position stays open and was in a hurry to fill the position. Fundamentally, they opened a Principal position, then recruited a person at a non principal level, because they were in a hurry to close the position.