This process was for a mid-level position:
Initially, I had to complete a written test which included very basic questions on Java as well as a logical critical thinking question.
Next I was asked to complete a 130 minute online java test which included 3 different problems that included an algorithm problem where time complexity did not matter, another algorithm problem where time complexity did matter, and a question that essentially tested your debugging skills.
The next step was an on-site technical interview with three senior engineers. They asked many questions that tested both basic concepts of Java (in a tricky way) as well as some nuances of the language. They also asked you to perform a code review on some java code as well as write a bit of code.
The final step is another on-site interview with more of the team and managers. This was to make sure you be a good fit personality wise.