I had an initial short phone call with HR to see if the job sounded like a good fit, then a video call with some questions about my familiarity with C and OOP among other things. On the call, I solved a short coding problem, which was fairly easy. The interviewer made it clear the main thing he was looking for was for me to talk through my thoughts process as I went. They asked me for a third interview in which they flew me to the Chandler location and put me up for a night. Normally they rent a car for interviewees, but as I'd recently had a seizure they were very accommodating and got me some Lyft passes. They showed me around the building a bit and had another technical interview with 3 managers present. They gave me a little more information about what I might be working on. I was asked again about my experience with C and OOP. I was also asked what I liked best about my previous job. Lastly there was a coding problem to solve. I was expected to bring my own laptop and fortunately had done so, but the expectation to bring it was not communicated clearly to me. The coding problem was fairly easy but I did not finish it; instead I added comments for the last few lines explaining what I would do. I also explained aloud my thoughts process. The managers there discussed my solution with me to provide input and help as I was working on it.