The position was posted on LinkedIn, after submitting an application they sent me a coding challenge. After completing the code challenge we exchanged emails to schedule a technical phone interview. The technical phone interview contained language specific questions, library questions, algorithm questions, and a few personal questions. The week after the technical phone interview we exchanged emails to schedule another interview. This interview contained personality, work history questions, and salary questions. After this interview they setup a phone interview with one of my references.