The whole process was very efficient and quick.
I applied for the position by the end of November and got the HR's phone call three days later.
We talked about the job details and my personal experiences, then she arranged my first technical phone screen in the end.
A couple days later, I took the first interview with my future Director online. It was very quick, only took 30 min, involved one algorithm question and some work experience related questions. Then the recruiter got back to me on the same day, arranged an on-site interview. The on-site inteview invitation email was kind of sweet, explained all of the details about the on-site interview, even listed all of the interviewers' LinkedIn profiles. very helpful. I can see that the recruiter was really trying to make me pass the interviews.
I took the on-site interview with four different persons on different topics such as system design, algorithms, database design and fundamental CS knowledge. The whole interview was pretty intense, I didn't get too much break, but all of the interviewers were pretty nice. They told me there were no right or wrong answer, and led me to give my best thoughts.
Although I didn't come out all the questions during the on-site interview, I got the offer eventually. So don't panic if you didn't perform very well on some questions. Just keep calm and delivery your best state. Good luck!