Most companies guard their interview process like a trade secret. GitLab publishes theirs in a public handbook that anyone can read. Every stage, every rubric, every expectation — it's all documented. This is radically transparent, consistent with a company that makes its entire employee handbook public and operates with 2,500 people across 65+ countries without a single office.
But having access to the playbook doesn't mean candidates use it well. Only 33% of GitLab interview candidates report a positive experience, and the process averages 34 days — sometimes stretching to two months. The information asymmetry isn't the problem. The problem is knowing what actually matters at each stage, where the process breaks down, and how to prepare for GitLab's most distinctive interview element: the merge request review.
This guide covers all of it. If you want to understand GitLab's culture and values before diving into interview mechanics, start with our GitLab culture profile or the deep-dive on working at GitLab.
Interview Process at a Glance
| Average Timeline | ~34 days (up to 2 months) |
| Difficulty Rating | 2.7 / 5.0 (moderate) |
| Positive Experience | 33% |
| Interview Format | All remote — video calls, async MR review |
| Coding Style | Merge request review (no leetcode) |
| Number of Stages | 5–6 rounds |
| Salary Range | $120K – $350K |
| Company Size | ~2,500 employees |
| Public Company | GTLB (NASDAQ) |
The moderate difficulty rating is genuine. GitLab doesn't try to trick you with brain teasers or obscure algorithm puzzles. The challenge is demonstrating practical engineering judgment, cultural alignment with their async-first values, and the ability to communicate clearly in writing — which matters enormously at an all-remote company.
Stage-by-Stage Breakdown
Application Screening
GitLab's talent acquisition team reviews applications against role requirements. Because the company is all-remote, they receive a high volume of applications globally. Tailor your resume to emphasize remote work experience, async communication skills, and any open-source contributions. GitLab's product is built on open-source — demonstrating familiarity with GitLab itself (not just GitHub) is a genuine differentiator.
Recruiter Screen (30 minutes)
A video call with a talent acquisition partner. They'll cover the role, team structure, compensation expectations, and your background. This is also where they assess basic cultural fit — specifically whether you're comfortable with GitLab's transparent, async-first way of working.
- Be prepared to discuss your experience working remotely or across time zones
- Know the role's salary range (GitLab uses a transparent compensation calculator)
- Have a clear answer for why GitLab specifically — "I want to work remote" isn't enough
- Ask about the team's async communication norms and documentation culture
Merge Request Review (72 hours, async)
This is GitLab's most distinctive interview element and the stage that trips up the most candidates. You'll receive a merge request (MR) 72 hours before your technical interview. You're expected to spend approximately one hour reviewing the code — as if it were a real MR submitted by a colleague on your team. See the detailed preparation section below.
Technical Interview (60–90 minutes)
You'll walk through your MR review with the interviewer, discuss your reasoning, and may do some live coding related to the MR. The live coding isn't leetcode — it's practical problem-solving, like refactoring a piece of the code you reviewed or implementing a feature the MR was missing. Frontend and backend interviews are consistently described as calm and fair by candidates.
Hiring Manager Interview (45–60 minutes)
A mix of technical and behavioral questions with your potential direct manager. This is where the process gets inconsistent — candidate experience varies significantly depending on the specific hiring manager. Some conduct structured, thoughtful interviews; others are less prepared. Regardless, expect questions that probe your alignment with GitLab's CREDIT values (see below).
Final / Team Interviews
Depending on the role and level, you may have additional conversations with team members or cross-functional partners. These are typically lighter — more about mutual fit than technical evaluation. Senior roles may include a conversation with a director or VP.
The Merge Request Review: How to Prepare
The MR review is what makes GitLab's process genuinely different from every other major tech company. Instead of testing whether you can reverse a binary tree on a whiteboard, they test whether you can do the thing you'll actually do every day: review code thoughtfully, communicate feedback clearly, and demonstrate engineering judgment about trade-offs.
Here's how to approach it:
Before you receive the MR
- Practice reviewing real GitLab MRs. GitLab's codebase is open-source. Go to gitlab.com/gitlab-org/gitlab and read through recently merged MRs. Pay attention to how GitLab engineers give feedback — the tone, the specificity, the emphasis on iteration.
- Read GitLab's code review guidelines. The handbook section on code review tells you exactly what they value: small MRs, clear commit messages, separation of refactoring from feature work, and respectful, specific feedback.
- Understand the codebase structure. If you're interviewing for a backend role, familiarize yourself with GitLab's Rails codebase patterns. Frontend? Know their Vue.js conventions. Having context on the codebase makes your review more substantive.
When reviewing the MR (the ~1 hour window)
- Start with the "why." Read the MR description and linked issue first. Understand what problem the code is solving before looking at the implementation. Your review should evaluate whether the code achieves its stated goal, not just whether the syntax is correct.
- Look for bugs and edge cases. This is table stakes. Missing null checks, race conditions, unhandled error paths — find them. But don't stop here.
- Evaluate architecture decisions. Is the approach appropriate? Would a different pattern be more maintainable? Is the code solving the right problem? These higher-level observations distinguish a good review from a great one.
- Check for test coverage. Are the tests testing the right things? Are edge cases covered? Are there missing test scenarios? GitLab takes testing seriously.
- Comment on style, but don't over-index. Mention style issues if they affect readability, but don't spend your entire review bikeshedding variable names. Prioritize substance.
- Write your feedback as if it were a real review. Use the same tone you'd use with a colleague. Be specific, be kind, and explain your reasoning. "This could be better" is useless. "This query could be optimized by adding an index on X because the current approach does a full table scan" is useful.
Technical Interview Preparation
The technical interview builds on your MR review. You'll discuss your findings, defend your suggestions, and likely do some live coding. Here's what to focus on:
For backend roles
- Ruby on Rails depth. GitLab's backend is a massive Rails monolith. Know ActiveRecord patterns, N+1 query optimization, background job processing (Sidekiq), and Rails API design.
- Database performance. PostgreSQL query optimization, indexing strategies, and migration best practices come up frequently. GitLab operates at enormous scale — understanding database performance at scale is essential.
- System design for distributed systems. GitLab's architecture includes Gitaly (Git storage), Workhorse (smart reverse proxy), and numerous microservices. Understanding how components interact matters.
For frontend roles
- Vue.js proficiency. GitLab's frontend is Vue-based. Know the composition API, state management patterns, and component design principles.
- GraphQL. GitLab uses GraphQL extensively. Understand query design, fragments, and how to avoid over-fetching.
- Accessibility. GitLab takes a11y seriously. Demonstrating awareness of WCAG guidelines and semantic HTML is a plus.
For all roles
- Git expertise. You're interviewing at a company whose product is Git. Know rebasing, cherry-picking, bisecting, and interactive staging beyond the basics. Mentioning worktree usage or advanced merge strategies signals depth.
- CI/CD pipelines. GitLab CI is the product. Understanding pipeline design, YAML configuration, and CI/CD best practices isn't just helpful — it's expected.
Behavioral & Values Interview: GitLab's CREDIT Framework
GitLab's culture is built on six values they call CREDIT: Collaboration, Results, Efficiency, Diversity, Inclusion & Belonging, Iteration, and Transparency. These aren't poster-on-the-wall values — they're deeply embedded in how the company operates, and the hiring manager interview will probe your alignment with them.
How to prepare for CREDIT questions
- Collaboration: Prepare examples of working effectively across teams or time zones. GitLab's collaboration is primarily async and written — verbal communication stories are fine, but stories about written collaboration (RFCs, design docs, detailed PR reviews) land better.
- Results: Have specific, measurable outcomes ready. "I improved deploy frequency by 40%" beats "I helped the team ship faster." GitLab is a public company — they think in measurable results.
- Efficiency: Share examples of simplifying processes, eliminating waste, or automating manual work. GitLab's efficiency value explicitly includes "boring solutions" — choosing the simplest approach over the clever one.
- Diversity, Inclusion & Belonging: Demonstrate awareness of inclusive practices in distributed teams. Examples: adjusting meeting times for different time zones, writing documentation that doesn't assume context, creating psychologically safe environments for junior team members.
- Iteration: This is GitLab's most distinctive value. They ship the smallest viable change, not the perfect solution. Prepare stories where you broke a large project into small, shippable increments. "We shipped v1 in a week and iterated based on feedback" is the exact answer they want to hear.
- Transparency: Examples of defaulting to public communication, sharing context broadly, or pushing for open decision-making. At GitLab, the default is public — private conversations are the exception.
For more on asking the right questions back, see our guide on culture questions to ask your interviewer.
What Candidates Say: The Good and the Bad
What works well
What could be better
The 33% positive experience rate is worth taking seriously. The interview content itself — the MR review, the technical discussion — is well-designed and practical. But the process around it — scheduling delays, inconsistent hiring managers, slow communication — undermines the candidate experience. If you're interviewing at GitLab, set expectations for a longer timeline and don't hesitate to follow up proactively.
Compensation Overview
GitLab uses a transparent compensation calculator that factors in role, level, experience, and geographic location. As a public company (GTLB), compensation includes base salary, RSUs, and benefits. The location factor is significant — the same role pays differently in San Francisco vs. Berlin vs. Bangalore.
| Junior Engineer | $120K – $160K |
| Mid-Level Engineer | $150K – $220K |
| Senior Engineer | $180K – $280K |
| Staff Engineer | $250K – $350K |
| Equity | RSUs (public stock, GTLB) |
| Location Factor | Yes — compensation adjusted by geography |
The location-based pay adjustment is one of GitLab's most debated policies. On one hand, it reflects cost-of-living differences and allows GitLab to hire globally at sustainable rates. On the other, it means an engineer in Eastern Europe doing identical work to one in New York earns significantly less. Whether this feels fair depends on your perspective — and your location. For a deeper analysis, see our GitLab compensation breakdown.
Tips for Standing Out
- Read the handbook before every interview. Not just the hiring section — read the engineering workflow, code review guidelines, and values pages. Reference specific handbook sections in your answers. It shows you've done the work and signals that you can thrive in a documentation-heavy culture.
- Write like a remote worker. GitLab evaluates written communication throughout the process. Your MR review comments, follow-up emails, and any written exercises should be clear, structured, and self-contained. Assume the reader has no additional context.
- Demonstrate iteration, not perfection. When discussing past projects, emphasize how you shipped incrementally and improved based on feedback. "We planned for six months and launched a perfect v1" is the wrong answer at GitLab. "We shipped a minimal version in two weeks and iterated through 12 releases" is the right one.
- Show open-source engagement. Contributions to GitLab's own codebase carry enormous weight, but any open-source work demonstrates the kind of transparent, collaborative engineering GitLab values. Even opening well-documented issues counts.
- Prepare for async. Some parts of the process may happen asynchronously. Treat every written interaction — emails, Slack messages, MR comments — as part of your evaluation. GitLab engineers are judged partly on how well they communicate in writing.
Frequently Asked Questions About GitLab Interviews
Explore GitLab's culture & open roles
See GitLab's culture values, employee reviews, and current job openings on JobsByCulture.
View GitLab Profile → Browse GitLab Jobs →