Initially there was a phone screen, then an onsite and after that another video interview.
The entire process was organized by most unprofessional people ever.
The CTO called me up 20 minutes late for a 30 minute interview. After that the conversation lasted for about 15 minutes.
After that they first scheduled an onsite interview with PHP guys and I am a Java Developer. However a day before the interview they realized that, and rescheduled the interview for next week with their Java team which apparently don't use Java.
After that was called for the onsite round. There were 5 rounds of interview. Was asked plain and simple array based questions and OOP concepts. All were easy.
One of the rounds were conducted by two very naive interviewers who worked on KAFKA but had no idea what ZooKeeper was (which was really odd). They thought that a hash function can produce different hashes for same string(showed their inexperience). Also argued with me that Java Garbage Collector collects live connection objects if it is not used and even if it is not timed out. Asked a simple question on URL shortener but had no idea on how to design scalable enterprise level complex systems.
After talking to 9 people so far, they again scheduled another interview with another team head next week. I was like, seriously? 10 people including the CTO cannot decide whether to hire a candidate or not? However I don't know what went wrong in that last interview as I was not hired after that. The last round was again the same behavioral questions that was asked during the onsite interview.
Overall the interview process was bad, and most of the interviewers were inexperienced themselves. Like some of them did not even know what technologies my supposed team was working on.
After the onsite interview as I was leaving the premises, I asked one of the interviewers on how they felt about working there. He took a long and deep breath and said "It is OK".