Met one of the engineers at school, had a small conversation, and he set me up for an interview. Received a coding test, followed by a phone screen with a senior software engineer. Asked me a lot of core JAVA questions, including inheritance, try-catch, one data structure question(pretty easy, not worth mentioning). Next, I received a confirmation for an on-site interview one day before. I reach there and I am told the first interview will be taken by another person, in place of the original one, who also has a different setup of questions, which I was told will be a white-board coding session. I was a little off-guard and nervous by now. I try to relax by talking about my background, but he is keen on getting to the code. He has a java program printed on paper(who reads code from a paper?) and asks me to find issues with the code, and/or improvements I can make. It was very weird to read the unindented code and correct it on top of that. I did not do great, partially my fault and partially the setup. I don't think it was a good idea.
Next round is with Product Manager, asks me system design questions. I answer all of his concerns. Next is a video interview with another engineer in Florida, who asked a mix of background and technical questions. He was clearly asking high-level questions that a senior engineer would have been able to answer. I still did okay.
Next is an interview with VP of Software Engineering, who comes in after 10 minutes. Nice conversation, asked basic Java, File system questions.