1) I applied online, then they called me after that by about 10 days.
2) The first stage was a technical on-site test, about 50 MCQ questions, it was not easy but also not difficult and needs a good preparation.
2) You'll be informed directly after finishing the test by whether you passed it or not, if so, you will be asked to start the English test. It was difficult a little bit.
3) If you passed the English test, you will be invited to a Technical Interview with one of the team seniors, this was also a difficult one. Prepare & study well. mainly: OOP, Data Structures, and SQL. Also you may be asked to solve a small problem, just to write its pseudo code or dicucss your suggested solution with the interviewer and how to optimize it. But in general, it was very nice interview.
4) If you passed, you will be invited to HR interview. It takes about 20 minutes, all in English, but the interview was really friendly. She asked the basic HR questions.
5) Again, but lastly, if you passed, you will be invited to an interview with the Department Head, he is very friendly & helpful, asking about & discussing some general concepts to know the way you think.
6) The process itself took about 2 weeks, and another two weeks waiting the final reply.