I have gone through four rounds of interviews in total, and it is a pity that I failed in the final system design interview.
The first round is the traditional HR behavioral interview, where the HR will ask you some basic work experience and personal information to judge your English communication skills. The whole process was very professional. The HR staff were polite and dedicated, and the questions they asked were professional and in-depth.
In the second round of interviews, you will be confronted with the chief technical officer, who will also ask some basic technical questions and find out whether you are suitable to join the team. The questions are very reliable and professional, which shows that the technical officer has a profound technical background and professional ethics.
A week later I arrived for my first round of technical interviews, which are more traditional pair coding tests where you provide a webcam computer with your preferred programming language (JAVA in my case) and a coding IDE. Verbal communication is very important to help you understand the questions and provide efficient code. During the whole process, the interviewers are very professional and willing to help you, and you will not feel too much pressure.
Finally, I came to the system design interview, where I met with the team leader and a senior PHP developer. The system design interview was traditional, but unfortunately, I didn't give specific answers to some questions, and I didn't provide correct results for some database questions and web security questions, so I failed.
Overall, I really enjoyed the interview process, which lasted four weeks. It was not only an interview process, but also a great learning opportunity. Although I didn't get the offer in the end, I also grew a lot.
I hope I will have another opportunity to submit my resume to them in the future. I personally highly appreciate the whole interview process.