Intervu is in beta — feedback welcome at support@intervu.io

GitLab Software Engineer Interview Questions

30 real practice questions for the mid-level Software Engineer role at GitLab (Developer Tools), spanning behavioral, technical, system design, leadership, and problem solving. Design, develop, and maintain software applications. The first 3 questions below include what GitLab interviewers actually listen for, plus likely follow-ups.

Questions
30
Categories
Behavioral (6), Technical (6), System Design (6), Leadership (6), Problem Solving (6)
Difficulty mix
10 easy · 10 medium · 10 hard
Avg. answer time
~4 min

Behavioral Questions (6)

  1. 1.Tell me about the last time you created documentation for a process or decision that your team kept referring back to. What prompted you to write it down, and how did it end up being used?

    easy~3 min

    What interviewers look for

    • Demonstrates proactive documentation without being asked, showing Handbook First mindset
    • Shows the documentation was actually used by others, proving it added value beyond personal notes
    • Mentions making the documentation discoverable and accessible to the broader team

    Likely follow-ups

    • How did you decide what level of detail to include in the documentation?
    • Did anyone else contribute to or improve the documentation after you created it?

    Company context

    GitLab operates on the Handbook First principle where everything should be documented publicly by default. Their entire company handbook is public, and they believe if something isn't written down, it doesn't exist as policy. This question tests whether candidates naturally think to document decisions and processes for others.

  2. 2.Walk me through a time when you had to explain a complex technical decision to stakeholders who weren't deeply technical. How did you document or communicate that decision?

    easy~3 min

    What interviewers look for

    • Created written documentation of the decision and reasoning
    • Tailored the communication to the audience's technical level
    • Made the documentation accessible for future reference by others
    • Proactively shared the decision rather than waiting to be asked

    Likely follow-ups

    • How did you decide what technical details to include versus leave out?
    • Did anyone refer back to that documentation later?

    Company context

    GitLab's Handbook First and Transparency principles mean that decisions should be documented and accessible to everyone. Their all-remote, asynchronous culture requires excellent written communication skills and the ability to make technical decisions transparent to non-technical stakeholders.

  3. 3.Describe a time when you had to choose between implementing something with a new, exciting technology versus using a more established, boring approach. Walk me through your decision-making process.

    medium~4 min

    What interviewers look for

    • Explicitly chose the boring solution despite being tempted by the exciting option
    • Evaluated based on practical criteria like maintainability, team familiarity, and risk rather than novelty
    • Considered the long-term cost of supporting and maintaining the solution
    • Got buy-in from team members who may have preferred the exciting option

    Likely follow-ups

    • How did you convince team members who were excited about trying the new technology?
    • What would have had to be different for you to choose the exciting option instead?

    Company context

    GitLab strongly values Boring Solutions - they prefer simple, proven approaches over exciting new technologies. The company believes the best solution is often the most boring one that just works, and they prioritize maintainability and reliability over technical novelty.

  4. 4.Tell me about a specific time you stepped outside your normal responsibilities to fix or improve something because you noticed it was broken or inefficient. What was the problem and what did you do?

    medium~4 min
  5. 5.Describe a situation where someone from another team made changes or contributions to code or processes that you normally owned. How did you handle that collaboration?

    hard~5 min
  6. 6.Tell me about the most recent time you had to debug a production issue. Walk me through your approach and why you chose that method over alternatives.

    hard~5 min

Technical Questions (6)

  1. 7.We're seeing memory usage creep up slowly across our Sidekiq workers over several days, but no single job seems to be the culprit. How would you investigate this and what tools would you use?

    easy~3 min
  2. 8.Write a function that merges two Git commit histories while preserving chronological order. Each commit has an ID, timestamp, and author. Handle the case where commits have identical timestamps.

    easy~4 min
  3. 9.A customer reports that their CI pipeline randomly fails with 'file not found' errors about 5% of the time, but the same pipeline succeeds when they retry. How do you approach this investigation?

    medium~4 min
  4. 10.You need to add real-time notifications when a merge request gets approved. The feature needs to work across our Rails backend, Vue frontend, and mobile apps. Walk me through your implementation approach.

    medium~5 min
  5. 11.Design the database schema and API for GitLab's security vulnerability tracking system. It needs to store vulnerabilities found by different scanners, track remediation status, and support querying by severity and project.

    hard~5 min
  6. 12.GitLab's container registry needs to implement image layer deduplication to save storage costs. Design a system that can identify and deduplicate layers across different images while maintaining data integrity.

    hard~5 min

System Design Questions (6)

  1. 13.GitLab's CI/CD system needs to handle 100,000 concurrent pipeline executions across thousands of projects. Design the job scheduling and resource allocation system that decides which runner gets which job.

    easy~3 min
  2. 14.GitLab Security scanners generate thousands of vulnerability reports daily. Design a system that can deduplicate similar vulnerabilities across projects and track their remediation progress over time.

    easy~3 min
  3. 15.Design the search system for GitLab's code search across all projects and files. It needs to handle regex searches, file type filters, and return results in under 200ms for our SaaS platform.

    medium~4 min
  4. 16.Design a feature flag system for GitLab that can evaluate flags for every HTTP request without adding more than 5ms latency. The system needs to support gradual rollouts and instant emergency shutoffs.

    medium~4 min
  5. 17.We want to add AI-powered code suggestions to GitLab's web IDE, similar to GitHub Copilot. Design the system architecture that can serve suggestions with sub-100ms latency while handling privacy and rate limiting.

    hard~5 min
  6. 18.Design the merge request approval system for large enterprises with complex approval policies. It needs to handle rules like 'require security team approval for changes touching authentication' while supporting thousands of concurrent MRs.

    hard~5 min

Leadership Questions (6)

  1. 19.Tell me about a time when you had to influence a team or group of people to adopt a change, but you weren't their manager. How did you approach it?

    easy~3 min
  2. 20.Walk me through a time when you disagreed with a technical decision your team was making. How did you handle the disagreement and what was the outcome?

    easy~3 min
  3. 21.Describe a time when you had to coordinate work across multiple time zones with team members you'd never met in person. What challenges did you face and how did you solve them?

    medium~4 min
  4. 22.Tell me about a time when you took ownership of a problem that was causing pain for multiple teams, even though it wasn't officially your responsibility. How did you drive it to resolution?

    medium~4 min
  5. 23.Describe a situation where you had to make a technical decision with incomplete information under time pressure. How did you approach it and what did you learn?

    hard~5 min
  6. 24.Tell me about a time when you had to deliver difficult feedback to a peer or someone who wasn't on your direct team. How did you approach that conversation?

    hard~5 min

Problem Solving Questions (6)

  1. 25.GitLab.com processes about 2 million CI pipeline minutes per day. If we reduced our average job startup time by 30 seconds, estimate the annual cost savings. Walk me through your assumptions.

    easy~4 min
  2. 26.Estimate how many unique vulnerability findings GitLab's security scanners generate across all SaaS projects in a typical week. What factors would drive this number up or down?

    easy~3 min
  3. 27.Our GitLab Duo AI code suggestions feature shows a 15% drop in acceptance rate over the last month, but usage volume is steady. How would you investigate this and what would you check first?

    medium~5 min
  4. 28.A GitLab customer claims their repository search is slower than GitHub's. They have a 50GB repo with 2 million files. Estimate the storage and compute costs to make GitLab's search 2x faster, and identify the biggest technical tradeoffs.

    medium~5 min
  5. 29.GitLab's merge request approval workflows need to support a large enterprise customer with 50,000 developers across 200 teams. They want different approval rules based on file paths, security impact, and team ownership. How would you design the rule evaluation system?

    hard~5 min
  6. 30.GitLab's CI runners need to auto-scale from 1,000 to 15,000 instances during peak hours to handle demand spikes. Estimate the monthly cloud costs and design the scaling triggers that balance cost efficiency with job wait times.

    hard~5 min

More GitLab interview questions