The overall interview process from the day I received an email from the talent acquisition specialist to the day a verbal offer was made took around two months. I believe being patient, honest, and transparent with the recruiters and hiring managers are key in making the entire interview process smoother.
Here's a breakdown of each phone conversation and interview (technical, behavioral) I went through:
15 mins non-technical, non-behavioral phone screen to understand my expertise, interests, location preferences, etc.
45 mins screening interview. Half was focused on OOPs and coding standards (I had to implement some code based on a problem statement). Half was focused on my resume and work experience.
45 mins - 1 hour screening interview. This interview was focused on my Android/Kotlin experience. We talked about Android APIs, lifecycle, architecture, best practices, some nuances, and some Kotlin questions. It was like a dialogue. I wouldn't say I got all the answers right. I don't even think anybody cares if you don't know everything. Be honest, don't try to beat around the bush. Admit if you don't know.
~~~ Virtual onsite (after you clear the previous screening rounds)~~~
2 hours coding exercise to build an app based on a problem statement. Just practice whatever skills you have learned in Android and if you have any questions regarding the interview setup/questions/pattern, reach out to the recruiter you're working with. My recruiter was super helpful with responding to any queries I had. Again, be patient, because everybody has a lot on their plate. Be polite and considerate when following up if you haven't heard back in a few days.
Immediately followed by a 30 mins code review.
45 mins DS and algo where you will be asked to solve a typical DS/algo question. The type of question depends on the interviewer. Just practice medium and up from Leetcode.
45 mins behavioral round with your potential hiring manager. Don't drop your guards off if you had done well in the previous round. Your hiring manager is the one who would hire you. Be honest with any feedbacks about the interview process (if asked).
The timelines between the interviews and feedbacks vary from case to case. Try to work it out with the recruiter you're working with and remember there's no one size fits all. Most of the interviewers were very professional and helpful.
Note: I didn't do well in the DS/Algo round and still got an offer. That made me think that it's a cumulative of all the rounds and not just one specific round. So give your best in each round and don't let previous rounds affect your focus. I also feel the two and a half hours coding/review rounds are key in the interview process. Be thorough in what you know and what you want to implement. I can't share specifics since I have to value the NDA I had signed. Just remember there's more than enough material in Leetcode and on other online forums to practice. AND, your recruiter could be your biggest advocate as the second person who has the biggest incentive to hire you (first being you). So talk to your recruiter, ask questions (if any), and be nice and friendly. Good luck!