Applied on LinkedIn. Got an email from a recruiter a few days later. Had a recruiter screen where I learned about the company. I then had a technical phone screen with an engineer, with a CTCI style problem. I then got invited onsite where I had 3 more interviews. The first one was an OOP design problem. The 2nd was a system design problem. The 3rd was an interview with my potential manager. The 2 technical interviews were very thorough, to the point that I thought I didn't do well enough. Overall the process was great, and the recruiter was the best I ever had, he was really responsive and responsibly checked with me for updates.