I applied directly and was contacted for a phone screening by a recruiter. They were 15 min late to the interview, but the interview was fine - asked a little about c++ memory management and OOP concepts. I was invited for an on-site interview the next week.
I showed up 10 min early to that interview, and they were 5 min late - not a big deal. The interview experience itself was really excellent. The engineering team seemed very passionate and personable. I was asked a lot about my current experience with various topics such as debugging, problem solving, OOP questions, memory management questions, etc. Overall a great experience by a great group of people.
They called the next day by the recruiter and I was offered the job at $125k/yr. I accepted and was told the hiring manager would reach out the next day or so to get an offer letter. About a week passed with little to no communication. When I reached out, it would take 24 hours+ to get any response. Finally, after a week, I got a call from the hiring manager saying they interviewed someone after they gave me the offer and they were going to go with them.
The recruiter let me know 15 min before the hiring manager called to give the bad news that they would be around afterward to answer any questions. I asked for a call back, but again I was given the cold shoulder. Finally out of frustration I requested not to be considered for any future roles.
Overall - the interview itself was really well handled, but I really didn't appreciate getting an offer and then being left out to dry. It's a start up, so that may be the nature of the beast, but still not a great overall experience.