1) A few recruier calls to find the right org
2) Hiring Manager Call
3) Data Sciente Technical Call
4) ML Systems Design Technical Call
5) Onsite loop
Applied through the website for the open SWE, ML position. Had a few calls with recruiters to find the right organizational fit and negotiated location. The recruiters were actually really awesome at this stage. I tried to back out, thinking that it would not be a good fit, and they enouraged me to keep taking to different orgs to see if there was one that was right.
Call with hiring manager was about making sure interests aligned.
Data Science call was a stats/prob ml/dm/dl knowledge quiz and an in-production ML system design problem applicable to lyft.
Systems design call was a in depth background chat and system design conversation related to ML.
Onsite loop was 2 ML related interviews, 1 large scale system design, 1 end-to-end coding problem on a laptop, and 1 manager conversation/softskills. Lunch inerview broke up the big day. All interviews were easy to medium difficulty questions, but were evaluated very strictly for correctness, efficiency, depth of knowledge. Laptop solution must run, be correct, show decent design, and if not perfect efficiency, identify where improvements can be made.
Recruiters communicated very well and always kept me aware of what was going on. All the interviewers were great. Travel arrangements were super easy and the options were nice.
Decision was relayed to me next buisness day, and offer arrived two days after that.