I applied online, got emailed back pretty quickly for a recruiter chat, then did a phone interview, and then got flown onsite. Most of the experience was great, I really felt like that recruiters were on top of their game and passionate about the product. They're honest and transparent, which is a fresh breath from most other companies. Most of the engineers I spoke to genuinely cared about their product and were great to talk to. In comparison to other places I've interviewed at, I felt like they placed a heavy emphasis on making sure that you are a good cultural fit at the company (there's a few behaviorals on-site).
However, the reason why I rate this experience overall as negative is that I had one really bad interview during my onsite that really threw off my whole experience. There were three technical interviews, with two of them being leetcode style algorithms. The other one, however, was a bit different.
First off, I had told the company before the interview that I preferred interviewing in Java. However, at the beginning of this interview, I was asked to do it in Python and even when I told the interviewer that I wasn't familiar or comfortable interviewing in it, the question he'd prepared was Python specific. The question involved using an aspect of Python I'd never seen before, and to create some sort of solution that would solve a hypothetical problem. Since I'd never encountered that concept before, either in class or in the real world, I struggled a lot to comprehend it. I spent a lot of times asking questions to the interviewer trying to better understand it, but it took up a lot of time and I could tell the interviewer was getting impatient with me. I ended up getting through part of the question correctly, but wasn't able to finish all of the challenges he'd come up with due to my questions and ultimately failed the onsite as a result.
While it's of course fair game to ask anything on my resume (since I'd written that I'd worked with Python for a project), it felt like going to a lecture in class that covered a new topic and having the professor give an assignment that we'd have to do while they were explaining it in order to pass the class. Not a great feeling, and not one where I felt like I was being accurately tested for my programming ability.
I'd hope they would reconsider asking questions like this. Also, I had two separate issues in dealing with the trip expenses that I had to get fixed. The people who ended up helping me were super apologetic and quick to fix them, but it was still another point of stress to cap off a disappointing experience.