The interview process stages were clearly defined in their handbook, and it stays true to what's described in the handbook.
After submitting my online application, I received an email from the hiring manager, that contains some followup technical questions. The technical questions touched on optimisation relating to Rails.
Then, a screening call is scheduled with the recruiter, and it was a quick 30minute call with very basic questions like why do you want to work in GitLab, have you written tests before, why are you leaving your job etc.
The 3rd stage is a technical interview. I was given access to a merge request, and I had to review and comment on the merge request. During the technical interview, the interviewer (not the hiring manager) is very pleasant to talk to. I felt that I was mainly assessed on my technical knowledge and how I normally would normally write code.
The next stage is a video interview with the hiring manager, which also includes technical questions. The interview was pleasant.
At each stage of the process, it was made clear to me which stage I'm at, and what would happen next if I pass through to the next stage.
The feedback given is also detailed and personalised.