The interview started with a phone call with a recruiter and another session of coding screen. The latter went well and for some reason I was recommended to another team so another round of same process. A few days later I was told I did well and was smoothly arranged for an onsite. The question s were ok for me, not too hard but not trivial either. I answered them pretty well except one round of db question, which I didn't prepare and hadn't used for 2-3 years.
Eventually I was told I was close but didn't make it, which was ok for me as I had offers on hand, it was just a matter of picking the most suitable company.
A little interest point is I have difficulty to get reimbursement on qualified expense, which was communicated to me before the onsite. It was promised but so far not honored by the company. I contacted the recruiter about the reimbursement and one month has passed and no reply and no check. For me it is a disappointment, and more importantly, how a company treats candidates post-interview, is a pretty accurate barometer to tell a seeming-good company from a real great one...