3 general interviews.
1- general backgrounds and simple technical questions. and after that, they send you a test project. usually, it takes about 2 weeks to complete.
2- should review your project with technical leads.
3- interview with the manager.
please on the first interview ask them to call your previous manager, because after one month of process and taking too much time and energy and getting accepted by technicals, the manager decides to call your manager(maybe find them on LinkedIn) and ask them some questions. and if they tell bad things about you, the manager simply rejects you. because they assume that the problem is always the employee, not the employer. and basically turning the whole process into a joke.
at the first interview, I told them that my previous job was not a good experience and they accepted it but...
and I think they had to ask me before checking the background.
they also told me that another reason is they decided to hire new developers a few months later. I think before rejecting they could ask me if I can wait or not, or why they start getting tests when they are not sure that they can hire you?
I was just about to explode when saw their rejection message. I think it's so simple for them because It doesn't cost them anything.