Recruiter reached out via email. Had an initial conversation with the recruiter for a Staff Software Engineer Position. We agreed on the preliminary terms and scheduled a technical phone screen. Technical phone screen was a debugging exercise with the interviewer. Gave a task to complete which I completed using MVVM pattern and was asked a follow up to integrate ROOM, which I was able to pave the way and time ran out before I could run it. Got the nod to move on to On-site interview. Since I was not interviewing actively, I asked for 3 weeks of time and was scheduled for a full day of onsite interviews. The on-site round included 90-minutes of debugging or pair programming, 75 minutes of Android System Design, 45 minutes Domain Knowledge and 45 minutes of Behavioral.
- Debugging round was similar to phone screen where I had to build on the work I had done. There was one main task and 2 Bonus questions. I was able to complete the main task but could not get to the Bonus questions. Personal ranking - Hire
- System Design included designing a system with an engineer. I was asked to design the system on my own, with requirements provided but the interviewer kept on steering the discussion into a direction they wanted to have, because of their expertise in that area. I adhered and talked about the different options we have to what they were asking and why I would choose one over the other. Personal ranking - Hire
- Domain Knowledge round revolved around various questions related to Android and Kotlin from App architecture to Compose UI to multithreading. Aced this one - Personal ranking - Strong Hire
- Behavioral round was the same set of 5 questions which I answered based on my experience. Personal ranking - Hire