AniUI Academy
GL

Frontend interview guide

GitLab

The all-remote DevOps platform. Vue/TypeScript. Deep culture of async handbook-first collaboration.

Frontend engineers interviewing at GitLab — mostly Vue 3 / TypeScript across the merge-request, CI, and project surfaces.

Last reviewed 2026-10-04

What they emphasise

  • Async-first collaboration — every process is in the public handbook, and the loop reflects that culture.
  • Vue 3 depth — Composition API, reactivity model, ergonomics of refs vs reactive. React experience is accepted but not a shortcut.
  • DevOps-shaped product thinking — CI logs, pipeline DAGs, diff viewers, large repositories.
  • Values-based interview — six CREDIT values plus Iteration, surfaced throughout the loop.

The loop, round by round

5 rounds. Durations and formats are typical, not guaranteed — confirm the loop shape with your recruiter in the screen.

  1. Round 1

    Recruiter screen

    ~30 minVideo call

    What it covers

    • Candidate motivation, remote-fit, time-zone compatibility.
    • Clarify the team you're interviewing with and the level.
    • GitLab handbook orientation — they expect you to have at least browsed it.

    What they're looking for

    • Preparation visible in the first five minutes — a candidate who has read the handbook stands out immediately.
    • A clear, honest reason for wanting an all-remote role.
  2. Round 2

    Technical interview

    60 minLive coding on CoderPad or your own IDE on video

    What it covers

    • A Vue 3 / TypeScript problem — building a component or extending one. Reactivity, props/emits, composition.
    • Candidates experienced in React are welcome; you'll be asked to describe how your usual mental model maps onto Vue's.
    • A short logic/data-manipulation round is possible depending on the team.

    What they're looking for

    • Working, idiomatic Vue — not React with Vue syntax.
    • Thinking about reactivity trade-offs out loud: when to use `ref` vs `reactive`, when `computed` is the right primitive.
  3. Round 3

    Technical panel / system design

    60 minOpen discussion, often with a shared whiteboard

    What it covers

    • A frontend system-design prompt — commonly in GitLab's domain: a diff viewer, a pipeline UI, a large project tree, a real-time log tail.
    • Scaling concerns, large files, many users, and operational realities.

    What they're looking for

    • The design holds up against the realities of the GitLab domain — large repos, long-running jobs, logs that are not toy-size.
    • Specific library knowledge where it matters — IntersectionObserver, Web Workers, virtualization, CRDTs — rather than hand-waving.
  4. Round 4

    Behavioural / values

    45–60 minConversation

    What it covers

    • GitLab values round — Collaboration, Results, Efficiency, Diversity-Inclusion-Belonging, Iteration, Transparency (CREDIT).
    • Specific stories from your work — remote-collaboration stories carry weight.
    • Public evidence (open source, blog posts, conference talks) is often cited back at you by the interviewer.

    What they're looking for

    • Comfort working async and in writing. Candidates whose stories are all synchronous meetings read as a culture-mismatch.
    • A specific example of iteration — "we shipped the small version in a week, learned Y, then shipped the real version in a month".
  5. Round 5

    Hiring manager

    30–45 minConversation

    What it covers

    • Team shape, scope of the role, what you'd be working on in the first 90 days.
    • Your questions.

    What they're looking for

    • Specific questions about the team's current frontend problems.
    • A real sense of what you want to work on, grounded in the specific team.

What each level expects

The bar you're being measured against — plus the failure modes candidates most often trip on at that level.

SDE 2 / mid

~2–4 years

Owns small features end to end with light guidance.

What they expect

  • Clean Vue 3 / TypeScript, understands reactivity well enough to debug it.
  • Writes merge requests small enough to review in under 30 minutes.
  • Collaborates asynchronously by default — writes clear PR descriptions and docs.

Common failure modes

  • React muscle memory leaking into Vue code — treating `reactive` like `useState`, missing that mutating a nested property is already reactive.
  • In the behavioural round, framing everything as synchronous meetings — GitLab's whole model is async-first.

Senior

~5–8 years

Owns a technical area, mentors mid engineers, writes handbook pages that outlive them.

What they expect

  • A system-design round where domain specifics show through — "a 50 000-line diff needs these three techniques" rather than generic virtualization talk.
  • Visible async-collaboration leadership — leading an initiative via public RFCs rather than meetings.
  • A behavioural story that cites measurable iteration — not just 'we tried, then we tried harder'.

Common failure modes

  • Showing up as a strong Mid in the system-design round — ability to code but not to lead the discussion.
  • No concrete example of 'I was wrong, I learned, I changed what I did' — iteration is a value, and the lack of a self-correction story reads as insufficient.

Staff

~8+ years

Technical direction across teams; drives multi-quarter initiatives.

What they expect

  • Cross-team influence evidenced by shipped work, not opinions.
  • A design discussion that reads as peer-to-peer — the interviewer finishes less sure which of you was leading.
  • A specific philosophy of software with evidence — not abstractions, patterns you have put into practice.

Common failure modes

  • Treating the loop as a Senior+ loop. The Staff bar is about leverage: your work making other engineers measurably more productive.
  • No visible writing in the handbook-style — Staff candidates are expected to be comfortable with public, long-form, written argument.

How to crack it

Day-of advice. The specific moves that separate offers from no-offers when the content is already in your head.

  1. 1Read the GitLab Handbook. Not all of it — but the engineering section and the Hiring page. You will be asked about it indirectly.
  2. 2Build a small Vue 3 project if your production background is React. Specifically something with reactivity, computed, and a composable or two.
  3. 3Prep a diff viewer or a pipeline-DAG prototype as your system-design rehearsal. The domain is the point.
  4. 4For the behavioural round, pre-write stories that explicitly use the CREDIT values as headings. Rehearse to under 2 minutes each.
  5. 5Prepare one real question about async culture — what the team does differently in the all-remote model, how handbook-first changes code review, how iteration shows up in day-to-day work.

How to master it (over months, not days)

The longer-horizon work. These are the habits that pay off at Senior+ bars where cramming visibly fails.

  • Contribute to GitLab itself — it's open source. The MR that gets reviewed by a GitLab engineer is better preparation than any mock interview.
  • Pick one of their public pain areas (diffs, pipelines, project trees) and build a prototype. Learn by shipping.
  • Practise writing async — public RFCs, long-form PR descriptions, blog posts. The writing muscle is what makes handbook-first culture work.
  • Follow one GitLab engineer whose work you admire on Mastodon or their blog. Pattern-match on how they communicate.
  • Learn one Web Platform primitive deeply (IntersectionObserver, Workers, Streams) — the GitLab domain uses these for real.

Resources

On-site content for the technical prep, plus short-list of external links worth your time.

A note on sources. This guide synthesises public engineering blogs, published job descriptions, widely cited level frameworks, and public interview reports. Nothing here is insider knowledge or NDA-sensitive. Loops evolve — confirm the current shape with your recruiter.