Very well defined process. 3 rounds of interview:
1. Technical Phone Screen for 30 minutes.
This interview is focussed on basic JavaScript, Java, HTML, CSS concept questions like interface, creating dropdown, difference between String, StringBuilder, StringBuffer, Comparators in JS etc.
2. Remote Programming Test
This is a programming assignment which needs to be solved and submitted back in few hours. You can program it in your choice of language and editor. Its not a live coding (Google document) thing so you can be offline and code at your leisure. Expectation here is the solution should work and should have good error handling and test cases. Good to practice Linked Lists, Trees, Graphs for this.
3. On-Site Interviews.
There are 4 on-site interviews 45 minutes each in the following manner.
A. Behavioral Interview: Questions like why you want to join Salesforce, describe current job, role, experience, what you want to work on, what are your goals in next few years. Its also a great chance to ask questions about the team and culture, job roles and expectations etc.
B. Technical Interview 1 - White Board Coding questions. Maximum 2 questions depending on time. Focused on basic Computer Science Concept like Sorting, Recursion, Tree Traversal etc. Goal is to have a clean working code on white board which is efficient.
C. Technical Interview 2 - White board interview focused more on application of Computer Science knowledge especially designing the backend of a website or an application, REST APIs etc.
D. Technical Interview 3 - White board interview focused on your projects from school or previous work. Describe the project, why it was necessary, what issues was it addressing, how it was implemented, how it solved the issue and how the metrics were collected. They will also expect that you know the existing Salesforce products (Sales or Service Cloud) and will ask you some questions surrounding that.