The interview process was a 3 stage process: Screening call, a take home timed online test, and then in person interview with 5 people. It was for an entry level position but tested like it was for more.
Of all places I've interviewed in Silicon Valley this year, this process was probably the worst experience I've had. Even if I had received an offer from this company, I would probably have rejected the offer.
Stage 1: Screening call, typical questions then salary talk. I ball parked the industry average for entry level positions. They wanted half of that, but "they'll see what they can do."
Stage 2: Timed online multiple choice test that took about 2 hours to complete. It felt like a college midterm for a throwaway class that the teacher apparently hated teaching. All knowledge based questions, mostly to test if you knew the quirks of Java and SQL. You aren't allowed to Google. Evidently I passed, though I thought I didn't do that great. These are questions that you would know and have memorized only if you worked extensively in Java and SQL.
Stage 3, in person technical: Oh, boy. No one showed up on time, and then everyone went over time. It became very clear very quickly that they wanted a python engineer, and all but 1 person really knew Java.
The first interviewer was very combative. The interviewer asked questions in rapid fire succession, and hardly gave you a chance to think or talk. Mostly knowledge based questions once again. One required regex. When it came to algorithmic questions, the interviewer seemed like they had little experience with Java programming and did not understand package level access. The interviewer argued with me about the philosophy of using custom classes, a staple of OOP (the person didn't think it was good to use them) even when the *very next* question the person asked was about how would I scale and extend the functionality of the method they wanted me to write. Then, after that, the interviewer said that the "best response was to say that there might be an open source project we could use to solve the issue." Wait, they disliked separating out concerns via classes, but they're okay with complicating the tech stack with 3rd party programs that have features that may not pertain to the problem space?
The second interviewer was nice and asked typical coding trivia questions that you'd find on the interview prep websites. It was a good exercise, but due to the first interviewer going 30 min over time, I had little time to really answer any questions deeply... except that the 3rd interviewer was extremely late, so maybe I did have time?
The 3rd interviewer was amazing, and probably the star of that team. The person asked actual algorithmic questions, was very nice, and clearly had interviewing and coding skills, including Java. The interviewer could point out strengths of my algorithms and weaknesses. If it had been just this person interviewing, my impression of the company would be very different. Unfortunately, this person doesn't even work at this location often (or even this country).
The final interviewer was a PM who only wanted to go over my resume and couldn't understand why I didn't major in CSE. I came from a highly technical and rigorous major from a world class university and had years of experience working in the industry, but the person spent a significant portion of the time wondering why I didn't choose CSE. The value of having a different perspective that was also very technical seemed lost to the person.
The 5th interviewer, who I think was the boss, didn't show up, because I think by that point we had gone so overtime that he didn't want to bother. I was also probably already screened out.
Overall: Their hardware team must be absolutely amazing if they manage to stay in business with this type of hiring process for their software team. I think they wanted an entry level person with mid level knowledge, who can carry the team, and also work for pennies. Only accept offers from this place if you are desperate. This company has shown that they don't value your time or your perspective. They mislead you about what the job pertains and some team members seem to not care for best coding practices or reasoning.