The process started with a phone screening lasting about 40 minutes, talking mostly about my background and answering some light, generic, technical questions. Very friendly, very relaxed and very positive overall.
I was then offered a HackerRank challenge of medium difficulty that required writing optimised c++ code in order to pass all the test cases. Data structure knowledge was helpful. The challenge requires at least 2 hours to get through, but any decent programmer can get satisfactory results.
After the remote challenge I got booked for on-site technical interviews that got rescheduled 3 times due to conflicting schedules and last minute meetings. The rescheduling was painless and communication was really good. I knew what and when was supposed to happen at all times.
The on-site interview involved a few separate technical interviews with 5 different people in total. During the first interview, when I was already really nervous, I was asked about my work at a previous employer, work that involved fixing, updating and improving the existing codebase of a large parent company. Was asked why the code needed fixing to which I answered that due to the age of the codebase (>20 years) and due to multiple business decisions and deadlines throughout the years, the code got in a really bad state. This was marked down as "talking down" a previous employer and factored heavily in my rejection. I was actively trying to be professional about it, but I am a technical, not a PR person. Also, the focus on the single employer led to the wrong conclusion that my professional experience was based on using third party libs and plugins even though I made it clear that no third party code was allowed in the company and everything was developed in house, apart from platform drivers and feasibility experiments.
Following this explanation, the interviewer became quite aggressive and condescending, moving on to a technical challenge with the instruction to "take my time and think about the problem as it should be easy enough". While talking through my thought process I was constantly interrupted with questions like "Are you asking me or telling me?" to which I had to reply "I'm just thinking out loud about the problem at hand". I solved the technical challenge in under 15-20 minutes but was asked to improve it and answer questions about optimisations, performance and alternatives for another 35 (with some answers even being shutdown unprofessionally, e.g. "Is that so?").
Post interview feedback was that the interview took too long, and they didn't manage to get to the C++ questions. I can't imagine how that could be my fault as any interviewer with experience knows how to structure and pace an interview in order to get through all major talking points. Also, HackerRank already tested a lot of my C++ knowledge.
The second technical interview was very relaxed, very friendly and managed to go in depth on specific optimisations (SSE, AVX, multithreading), linear algebra problems, scale in C++, etc. We also talked about another previous employer in a very fun and interactive way hitting a lot of technical details.
I did not receive the job, being informed via e-mail. The e-mail contained some feedback about what went well (almost all of the interview stages) and why I was not offered the role (all of it seemingly stemming from the first technical interview).
Overall, it depends on whom you get interviewed by and if they like you or not, apparently. I would probably interview again with them given the opportunity since one person does not define an entire company.