It was a multistep process. I applied online via an email to the company with an open-ended writing sample and my CV. They reached out pretty quickly and had me complete an email response to a customer, including a reflection on my thought process. After that, they scheduled a Google Hangouts interview. They asked some typical questions on my background and some positives and negatives about my prior job. Unfortunately, they spent a good deal of time asking me to expand on the negatives rather than the positives. They then ran an impromptu roleplay in which I helped a customer setup a vacation message for their email.
Afterward, they said they would be in touch soon but did not follow up within two weeks. I had to reach out before being invited to an in-person interview. Prior to going in, I was informed that I would need to prepare a 10min demo of their Gmail product. The actual in-person interview took about 5 hours and I met all the team members. Everyone was very friendly and asked typical questions on my background, details on my resume, and asked how I would handle certain scenarios. I had to respond to two emails, given about 30 minutes total to complete the task.
When I asked about hiring timeline, their answers were dodgy and they said they'd get back to me early the following week. This is where things went downhill. We played email tag for the following three weeks in which I would follow up asking about an update and they would tell me they'd get back to me soon and never did. Ultimately, they sent me a generic rejection email. I understand having other candidates to interview and consider, but please be cognizant of other people's timelines and actually follow up when you say you will. Had they been transparent about their situation, I would have understood, but the way they handled the situation after the final interview ruined an otherwise pleasant interview experience.