went through the GitLab engineering loop earlier this year. going to document the coding portion specifically because i couldn't find updated info and what i did find was from 2022-2023.
the structure: no take-home. no HackerRank or CoderPad pre-screen before the recruiter call. the coding interview happens in the final round (they call it the onsite even though everything is remote).
it's two separate coding sessions, both live, both 60 minutes. you can pick your language. i used Python. they use CoderPad.
difficulty: honestly, medium LeetCode difficulty. one interview had a graph traversal problem that would be LC medium-hard. the other was more about data structures: given this stream of events, track X efficiently. not a grind-400-problems situation.
what matters more than raw algorithmic difficulty: can you communicate while coding? they're asking questions the whole time. 'why did you choose a hashmap here?' 'what's the space complexity?' 'what breaks if input is empty?' i almost fumbled the graph one because i went quiet for 5 minutes trying to think. bad move. they want to see you reason out loud even when you're stuck.
gotchas: CoderPad doesn't autocomplete. practice in CoderPad specifically, not just your IDE they will ask you to test your code with a specific input at the end. have test cases ready in your head the second coding session on my loop had a follow-up: 'now can you make this work with N threads?' concurrency awareness is useful
prep that helped: Neetcode 150, medium tier, 3 weeks before Pramp for mock interviews (the verbal practice really matters) reading GitLab's engineering blog beforehand, mostly to get language for the behavioral questions that come up mid-coding sometimes
dm me if you have specific questions. happy to do a quick mock if someone's in the loop right now.