I was referred by one friend, and got response in 3 days.

First round is phone interview with online code judge process. The coding question asked in phone: Implement an circular queue with basic queue attribute

Second round is on site for 4 rounds interview. The HR are so nice and the phone there are mostly busy with their work, they do not seem to have lots of time for the interview. The quicker you finish, the more question you answer, would be the way that they prefer. One of the interviewer asked me a lot things related with my previous project, but I do not think it is related.

The questions asked in onsite:
1. Isolated island number in matrix:
Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.

2. Merge sort (just pure merge sort), but absolutely no bug

3. Selling stock:
Say you have an array for which the ith element is the price of a given stock on day i. Design an algorithm to find the maximum profit. You may complete at most two transactions. You may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).

4. Haffman code implement

After one week, I got rejection.