I applied through a recruiter. The process took one month (more or less). In my case, the process had these stages:
i. Interview on the phone with a recruiter of the company. It is a phone screening. They don't provide information about the specifics of the job or the kind of problems and applications you will be working on.
ii. Presentation on Webex and questions about your background and experience. It is a technical interview. You have to prepare a few slides. They provide some information about the specifics of the job, but deliberately don't talk about concrete problems and applications.
iii. Software test. They send you a code and you have to reimplement/optimize it. The goal is to reduce the calculation time. It is not hard but it takes time to do it.
iv. Talk on Webex/Hangouts with the team. They talk more openly about their products and job responsibilities, but they don't provide details and they don't show any demo of the products.
v. Offer via email.
NOTICE: There is not an on-site interview. They didn't provide a clear reason when I asked them about it. You are free to visit them to meet the team and know the place, but there are conditions and you have to make the travel arrangements on your own.
WARNING: the offer is not self-content. You need to request the Employee Handbook and a non-confidentiality agreement to fully understand what you are accepting.
ADVICE: read carefully the Employee Handbook.
Personal Opinion: Transparency is a word I would never use to describe the offer and the post-offer company attitude.