Took almost 3 months from start to finish. Contacted by HR, had a phone discussion for regular HR stuff. Then 1 technical phone screen lasting 1 hour. Basic questions about Java/oops concepts, bitwise operations and other theory questions.
Then a 3 hour onsite interview was scheduled. First hour focused fully on technical stuff, in multithreading, polymorphism, debugging a given code etc. Second hour had two questions. First an estimation quiz (how many credit cards does amex approve each year in US?) and second was architecture troubleshooting ( Given an architecture diagram, and few production scenarios causing problems, how do you go about finding the root cause? )
Last hour was behavioral questions (Have you solved conflict in your previous job?how?)