The process was fairly typical, but with a heavy emphasis on Design/Architecture interviews, more than I have experienced at other companies for a non-senior SWE role.
First a recruiter reached out to me. She was really nice, and she asked me standard questions like Tell me about one of your recent projects, Why are you interested in Lyft, etc. Afterwards, she said she wanted to move me along and set up a call beforehand for her to prep me for the interviews.
The technical screen interview was a random engineer asking me to solve a string manipulation problem via Coderpad. The question was actually reasonably complex, but Coderpad itself seemed to be bugging out and wouldn't compile anything, which ended up wasting a lot of time and I wasn't able to fully solve the problem with the remaining time. As a result, they asked me to re-interview with a different engineer. That engineer gave me a simple question that I solved right away, although I don't remember the question anymore. I recommend practicing some problems on Coderpad beforehand, as the editor is pretty “dumb” in comparison to other sites I’m used to like HackerRank and Leetcode.
They moved me on to the on-site interviews, which consisted of 4 video interviews: one behavioral, two design/architecture, and one longer coding interview.
The behavioral interview was standard, nothing unexpected.
The design/architecture interviews asked exactly the same questions I have read in other reviews here. They want you to diagram a simple version of the system they describe, and then want to dive in to different parts to make them more sophisticated and production-like. We got into discussions about message queues, replication, scaling, caching, etc. My interviewer also pulled out a math question, asking me how many unique keys I could generate with different primitive types. I struggled with the math questions, which led the interviewer to say that I was “weak with some computer fundamentals”. Uh huh. I thought it was odd how much emphasis they put on ability to draw up large-scale systems, given that this was a generalist software engineering role. At this level, I wouldn’t expect to have much in-depth experience doing that anyways.
The coding interview was 1.5 hours long, and was a common question asking me to implement add, remove, undo, redo, etc operations in a class.
After the interviews, it seemed that the recruiter forgot to let me know the decision, but after I finally got the news that they had passed on me, she offered to set up a call to share the feedback with me, which I thought was really nice and helpful.
Also wanted to mention that none of my interviewers were female, which was a bit disappointing given their supposed emphasis on diversity. How do you expect to hire gender-diverse people with a gender-homogenous panel of interviewers?