
GitLab Software Engineer Interview Questions
& Process
Real candidates share what happened, how many rounds they had,
and how the experience turned out.
Based on 51 interview experiences · FREE TO READ
Candidate interview experiences
First-hand accounts from people who interviewed at GitLab.
Software Developer
The interviews for the frontend and backend roles were well-executed. The interviewers were composed and allowed me to demonstrate my technical abilities. However, the hiring manager interviews were less satisfactory. Each hiring manager has a unique interview style, making it difficult to know what they are looking for. I believe GitLab should implement a more consistent process and provide better training for their interviewers. In one interview, the example I provided was clearly not what they sought. They could have either pointed this out and changed the topic, or initially clarified their expectations. In another interview, I was criticized for not mentioning information that the interviewer hadn't even inquired about. It's concerning to receive excellent feedback on technical stages from recruiters and hiring managers, yet barely pass the hiring manager rounds. This indicates a significant discrepancy. Interviewing is generally challenging in software engineering, and it's an area that both individual contributors and engineering managers need to continuously improve.
- Can you review this code written in Vue and Rails?
Software Engineer
This hiring process spanned about 2.5 months, which is quite long. Although there are usually just 3 interview rounds for a role, if a recruiter suggests it, you can be considered for other teams after rejection, but you'll have to redo the behavioural interviews. The technical interview, however, is only done once, so it's crucial to do well. It wasn't overly difficult, and with persistence, it's manageable. They provide the code beforehand, which is helpful. It's a technically transparent process. I applied for 3 different teams. The first role was filled quickly, and a recruiter then connected me with another recruiter for a different team. I interviewed with the hiring manager, but it didn't go well; the interviewer was rude and dismissive. We didn't connect, and I was rejected. Later, another recruiter reached out about a different team. That process was much smoother and faster. I completed my final two behavioural interviews in one week with nice interviewers. I waited two more weeks for candidate evaluation, but eventually got an offer, which I accepted. The process isn't too hard but can be very lengthy. Recruiters may sometimes ghost you, so persistence is key. Behavioural interviews are standard but feel more like conversations. Apart from the long waits and occasional ghosting, it's a good process for a company this size.
- How do you manage yourself while working asynchronously?
Software Engineer
I applied for the position using an internal referral and heard back over two months later. I completed a live coding interview and spoke with a manager. So far, the recruiter has not responded to my attempts to contact them. Despite my strong interest in GitLab, I've been emailing the recruiter every few days with no luck. This week, I tried reaching out to everyone who interviewed me, but again, no response. I'm giving up on the process after 11 weeks because I have other offers, and frankly, I'm very disappointed with GitLab's process. I'm worried this reflects the company's overall approach.
- Describe your experience with coding exercises, specifically a regular mid-level one rather than LeetCode.
- What are your career aspirations?
- Can you share some behavioral examples from your past?
GitLab Software Engineer Interview Questions
Quoted word for word from GitLab interview reports.
“Find problems in a merge request code review and fix them during the review.”
Read reports →“What are the differences between database queries and selecting objects using the application's memory?”
Read reports →“Can you review this code written in Vue and Rails?”
Read reports →“Could you provide some comments on a Golang merge request in Gitlab?”
Read reports →“Could you review this merge request and explain your approach to refactoring, specifically regarding Golang channels and fixing some broken tests?”
Read report →“How would you determine whether some kind of logic belongs in the controller, the model, or a concern or service?”
Read report →“Describe the responsibilities of the Model, View, and Controller in the MVC design pattern, both generally and in Rails specifically, and their benefits. Also, explain how Concerns and Service patterns fit into this.”
Read report →“What edits and improvements can be made to the assignment?”
Read report →“Can you describe how you would measure the performance of a system?”
Read report →Formats, difficulty and experience
Across all 51 GitLab interview reports.