I got the interview through college career fair. I initially had 1 round of phone screen. It lasted for around 40 mins, and I was asked basic stuff related to Object Oriented Programming, STL's, Java basics and few complexity questions. Then I was called for On-Site interview. The day started with the product review. I then had 6 rounds of interview. 1st one was code review where I was given a piece of code and I had to find bugs in the code and optimize the design/structure of code. Then I had 2 technical rounds where I was asked a coding question in each of them and several data structure questions rotating around what data structure would you use to implement something, why a particular data structure choice would be better over other, how would you calculate time complexity and space complexities in several scenarios given to me. The 4th interview was with the Director of the team who literally grilled me on a particular project I had in my resume. I was asked how would I optimize the data structures and algorithms used in my project, what would be the time and space complexity in various different scenarios etc. Towards the end of the interview I did manage to come up with some very good optimizations to my project and he look satisfied. Then I had the lunch interview with two senior developers of the team who were taking down notes on my resume as they were asking several questions during lunch. Nothing really technical but conversation regarding various technologies, some projects that I did etc. The final round was with the HR. Next day the HR called me saying they are extending an offer. This company has very good work life balance which is always good. The dress code is casual. And most of their development is in C++. So make sure you are thorough with all the basics of OOPS concepts and STL's.