In my case , the whole application process took 3 weeks
1st week
- Exam(consist of 2 parts : behavioral and technical- very analytical )
- Phone interview (questions are focused on work experience)
2nd week
- Technical Interview (by peers). There are several problems given, you have to implement the solution using any programming language you like. In my experience, I did paper and actual coding, then for some just pseudocode because of time constraint. You must have an understanding of your code's performance, how to improve it and its trade-offs. There's no specific time limit for each problems but the whole process took ~1.5 hr. I felt that there are so many problems but not enough time to solve everything. So, I thought I wasn't gonna proceed with the next step.
3rd week
- Final interview (by the Director). It's also a technical interview. There's only one problem that you're required to code the solution. You don’t have to be so conscious on the syntax, but needs to focus more on the code's design and how well it's written, and of course, it must produce accurate results/output. After that, some questions on schema design and how it's gonna change according to the requirements/specs changes.
I appreciate that HR was very kind and considerate. I was on a trip before my final interview and I almost missed the final interview because of a long flight delay, but they agreed to reschedule it the next day.