I applied as a remote candidate. After a referral by a current employee, I was contacted for a screening interview. The screening interview was conducted via video conference with a senior member of the team. I was primarily asked questions about my background and resume, as well as a variety of behavioral questions. The interview was relaxed and conversational.
Two days after the screening interview, I was given a coding exercise that I was to complete on my own time in a language of my choosing. The exercise was designed to take approximately an hour to complete, and was decently challenging, but also quite fair.
I was then invited to a three hour technical interview with various members of the team. We discussed my solution to the coding exercise, focusing on areas that I would have improved were I given more time. I was also asked various technical questions pertinent to the job, and eventually given a relatively simple design question. The questions generally were not about specific algorithms/techniques, but more about performance and scalability from an infrastructural perspective.