I applied online. The process took 4 weeks. I interviewed at GitLab (Indianapolis, IN) in Oct 2017
Interview
Very long pre-screening process: first task of answering 7 Long questions that easily take 5-10 hours, then another bigger challenge on a hybrid software & infrastructure design which also takes at least 10 hours to submit several pages of design,diagrams,specs, justifications. They do examine technical ability from multiple angles which I found great, however the next step was...
An awkward screening process by another internal "global" recruiter. The arranged call was a no-show that was covered by the recruiter's colleague a few minutes after the scheduled time, rescheduling it some days later. The worst thing was the 15 minute silence and unresponsiveness when I joined the call, listening to mumbling and heavy coughing while the recruiter was totally unresponsive to my questions, lacking any sense of leading the interview and introduction or anything typical that is expected from an HR interview.
When the recruiter became responsive, she was unnecessarily aggressive, non-communicative, intimidating, of course non-technical, seemingly unaware of the pre-screening tasks and any kind of performance on them. Asking and pressing on the wrong questions like she just read the CV, making you really wonder whether she understands anything about your profile or the information that a recruiter needs to extract to properly screen a candidate's strengths, ability to fully work remotely, understanding of Gitlab and Gitlab's business and infrastructure, friendliness, soft skills et cetera. A few days later I receive a rejection with a diplomatic answer that the decision was joint between infrastructure lead and the recruiter.
Interview questions [1]
Question 1
### Q1
Tell me about a technical book you read recently, why you liked it, and why I should read it.
### Q2
A service daemon in production has stopped responding to network requests. You receive an alert about the health of the service, and log in to the affected node to troubleshoot. How would you gather more information about the process and what it is doing? What are common reasons a process might appear to be locked up, and how would you rule out each possibility?
### Q3
A user on an ubuntu machine runs `curl http://gitlab.com` Please describe in as much detail as you can the lifecycle of the command and what happens in the kernel, over the network, and on GitLab servers before the command completes.
### Q4
One of the current challenges we are facing lies in storage capacity. Describe in as much detail as you can how you would face this challenge, where do you think the main bottlenecks could be and finally what actions would you take to understand the problem and to finally deliver an infrastructure that would support our growth.
### Q5
Write a program, topN, that given an arbitrarily large file and a number, N, containing individual numbers on each line (e.g. 200Gb file), will output the largest N numbers, highest first. Tell me about the run time/space complexity of it, and whether you think there's room for improvement in your approach.