Applied online. First had a phone interview. They are only available between 10:00 AM and 4:00 PM, so needed to take time off work. Asked a couple of easy technical questions over an hour and made some changes to the question as I went along. Coding was done online through Hacker Rank.
Went onsite for 4 hours beginning at 10 AM. First round was technical with 2 devs. Second was the same. Third was with HR and 4th was with Hiring Manager. HR was just information on perks, culture, etc. Hiring manager asked algo question, showed me the terminal, and asked behavioral questions.
The onsite went well and I was certain I'd receive an offer, but was contacted by HR saying they wanted someone with C++ experience and asked me to interview for another role. Why was I interviewed if that was going to deter me from getting an offer? No straight answer.
Went onsite again. Went through two technical rounds. Everyone I met so far was nice until the last one. He was easily the rudest, most disrespectful interviewer I've ever had. He was disinterested from the beginning, wanted to leave the second he stepped through the door, didn't ask for my resume, didn't shake my hand, was condescending, and didn't have any actual questions prepped. Needless to say, this round went terribly. He lost interest half way through and essentially ran out, without letting me ask any questions.
All in all, I wasted two vacation days and went through 7 hours of interviewing with 11 people. Apparently one person's opinion is greater than 10. Don't waste your time unless you feel you have the perfect fit.