Algorithm/problem solving interview where you solve a problem and explain your thought process at the same time. I was asked to improve the runtime of the solution too.
Culture interview where you/they try to gauge whether there is culture alignment.
System design interview where based on product requirements you come up with a design.
Role chat where you are given an opportunity ask questions about the role, which is actually nice.
Coding / pairing on a practical problem where you are asked to build a product, code quality doesn't matter much. This is the bit that failed me apparently. But the feedback was absolute tosh. I built and delivered what was asked, and instead of focusing on this concrete FACT that I delivered, the feedback said something like "he didn't seem overly familiar with fullstack environment" (no really Sherlock? read my CV, I've mostly been a backend engineer) and apparently the feedback wasn't challenged internally. So 1 person can swing the decision if they don't know what they are doing or simply doesn't like you. They need to sort this out and start challenging feedback that isn't based on data/anecdote (whether it's positive bias OR negative bias). I'm annoyed with them as well the recruiter was slow/missed our meetings and took too long to respond. It is possible they were waiting to interview other candidates for the same role hence the delay in communications.
In the end the feedback didn't make sense, I didn't get anything useful out of the process. I won't be interviewing here again, this is not how you treat people.