The recruiter email first and ask to set up a phone interview based on the date and time you choose so you won't be surprised at all.
The phone interview is easy, just some general questions. The recruiters tells you pretty everything you need to know and don't need to know about the company, the job, benefits, environments, and the team for the position.
Followed by the phone interview is three algorithms coding exercises in C# that the recruiter emails. Not very hard exercise but performance and memory are probably considered. A simple guessing game that you have to pass with logN guesses, a lowest cost problem, and a word count problem.
I underestimated the problems and use exception handling for control flow (adding duplicate to dictionary exception). The program took 10 seconds to run on my PC as the runtime should only be O(N), but the recruiter said it took more than 15 minutes to run on her test machine, and cost me my interview.
After the assessment, there should be a 1:1 general interview.
The recruiter is really nice, the works seems fun and interesting, and I learned my lesson.