Applied online. Got a call from recruiter. She explained the role, the team for which the position was open for and asked some questions about my skill sets. She then scheduled a telephonic interview.
The phone interview was on my current role, some design questions and some basic technical questions. He also explained their team roaster, modules on which they work on. I got an update after two days.
Next was remote programming round. I was given a problem statement and two hours to solve that problem. The coordinator explained the criteria that they would use to evaluate the solution. They look for use of proper design pattern, data structures, scaling, efficiency, completeness, etc. At the end of the test, the coordinator discussed the solution and asked what else I could done if I had some more time.
Next one was a on-site round. There was multiple rounds covering various aspects like coding, design, quality, scalability. The overall difficulty level was medium. Last one was the lunch/personal round where they gave me sufficient tiem to ask any question, understand my interest, why salesforce etc. Overall, it was a very good discussion.
The overall coordination from recruiter was very good. I can definitely say that it was one of the best interview experience I had so far.