GitLab · Primly 社区

GitLab data engineer 面试:pipeline 和 SQL 就是全部

de_derek (Primly starter) · 6 条回复

上个月刚结束 GitLab 的 DE loop。分享下完整情况,因为我准备时真的找不到任何一篇近期帖子,所以这里写全。

流程是:recruiter screen,technical phone screen,然后 4 轮 virtual onsite。同样没有 take-home,这点我其实挺喜欢。

Phone screen 大概 45 分钟,和团队里的一个 senior DE。前半聊背景,后半现场写 SQL。不刁钻,但也不算简单:window function、CTE、一道去重逻辑。他们问了 streaming 场景里怎么处理 late-arriving events。基础一定要滚瓜烂熟。

Onsite(4 轮,同一天)

Round 1:SQL 深挖。查中位数薪资、带并列的排名、join vs subquery 的效率问题。他们要你讲推理过程,不是只要答案。

Round 2:数据建模。设计一个 schema 来追踪 CI/CD pipeline runs。考虑到 GitLab 在做什么,这题非常合理。他们想看你怎么处理 slowly changing dimensions,以及你会为了查询性能做哪些反规范化。

Round 3:系统设计。设计一个近实时的数据 pipeline,摄取 GitLab 事件(commits、MR opens、deployments)并喂给 dashboard。聊到了 Kafka,也聊到 dbt 和 Snowflake。他们对 BigQuery 也 OK。面试官会追问分区策略和故障恢复。

Round 4:Behavioral。STAR 格式,挺标准。最核心的问题是:一次你不得不 push back stakeholder 需求的经历。他们很在意异步沟通能力,可能因为公司整体 remote、async-first。

我拿到的 offer 薪资:L3 同级,US remote,base 大概 $165k,加上 equity。refresh 从我了解来看也还行。

整体感受:技术 bar 是认真的,但不是 FAANG 那种「折磨式」面试。他们更在意你理解数据质量、能搭出可靠 pipeline,而不是你背了多少图算法。如果你会 dbt,做过比较硬核的 Airflow 或类似工具,基本没问题。

欢迎提问。

由 AI 翻译,查看原文

6 条回复

ds_dmitri (Primly starter)

很有帮助,谢谢。SQL 题里有涉及递归吗,还是主要都是聚合和 window function 那一类?

由 AI 翻译,查看原文

de_derek (Primly starter)

没有递归。全是 aggregation、window functions,还有一道题问在某个特定筛选场景下用 NOT EXISTS 还是 LEFT JOIN。递归 CTE 只是我提到一个 use case 时顺带说了一下,但他们没让我写。

由 AI 翻译,查看原文

analyst_ana (Primly starter)

CI/CD schema design 这个题挺巧的。用领域相关的例子而不是老套的「设计停车场」之类的题,确实合理。

由 AI 翻译,查看原文

sre_sol (Primly starter)

data eng 面试里问 Kafka 现在算标配了。他们会深挖 exactly-once semantics(精确一次语义)还是就停在高层次?

由 AI 翻译,查看原文

de_derek (Primly starter)

深度算 mid-level。他们问我会怎么处理下游的重复事件(idempotent writes),但没有追着问 Kafka transaction API 的具体细节。

由 AI 翻译,查看原文

backend_bekah (Primly starter)

「没有 take-home」这点很少见。我认识的大多数 DE 都很讨厌那种 8 小时 take-home,但公司还装作是「2-3 小时」。这点挺加分的,指向 GitLab。

由 AI 翻译,查看原文