I submitted an application via Granular's website. Got an email from Granular's recruiter within 48 hours to set up a phone interview with her the next day or two. The phone call with the recruiter lasted about 45 minutes and entailed a description of the job, what the company offered for different benefits on a high level and salary expectations. A day or two after that phone interview, a phone interview with the hiring manager was set up. The phone interview with the hiring manager went over more technical specifics that the mobile team does and lasted about 45 minutes. I was then invited for an on-site interview which lasted ~4.5 hours and included 45 minutes with the hiring manager, an hour lunch with the developer team, 45 minutes of questions with the developer team, followed by 45 minutes with the devops team.
I was also a guinea pig and did a take-home coding question. From what I understand, it didn't help or hinder my interview but it was through VPN so my internet searches and such were monitored so they could determine how I was solving the coding problem. The coding question took me a few hours because the VPN was laggy and shortcuts were different than I was used to.