First they emailed some screening questions. They are standard Java questions, as an experienced Java developer I have no problems with it.
After sending my answers back they arranged a phone interview a few days later. Again they asked mostly Java questions, topics including array, List, Map, equals()/hashcode(), some design patterns. Solid Java programmers should have no problems with these questions, but there're a few of them that are a bit harder, you'll need to be more hardcore person to answer all of them correctly.
I didn't get two of the hard ones in the phone interview right, but they still progress me to next round. It's a coding test with a programmer. He showed me a piece of confusing code, and a junit test case. The test was failing, and I have to find the bug in the code so the test will pass. It's actually not that hard, but I was quite nervous so it took me quite a while to find the bug and fix it. The guy basically sit next to you and watch you coding, like a pair programming. You can talk to him about your thoughts.
This is actually a very tough test for those who's not comfortable with pair programming or being watched. I can be more efficient when working alone. They ask you about your favorite IDE before the coding test, you can choose either IntelliJ or Eclipse, or notepad if you like.
I didn't think I do well in the coding test but they still progress me tho next round. (I have to go, I'll finish this later)