今年早些时候我走完了 Accenture data engineer 的面试流程,面的是他们某个云迁移团队的 senior DE 岗位。发出来是因为 DE 方向的经历比 SWE 或 analyst 的内容更难找。
recruiter screen 之后还有 3 轮。
第一轮技术面(60 分钟):SQL 很重。覆盖了 CTE、window function,还有一个挺刁钻的问题:用 recursive CTE 遍历层级结构。说实话,recursive 那题我得边想边说。他们对此没问题,反而像是在看我怎么推理。另外还问了数据库 normalization:什么时候要 denormalize,为什么。经典的数据仓库取舍。
第二轮技术面(60 分钟):pipeline 架构。给了一个场景:客户每天晚上拿到一个 500GB 的 CSV dump,要求 9am 前能被查询。让我从头讲架构。我讲了 ingestion(S3 或 ADLS 的落地区)、transformation(看客户栈用 Spark 或 dbt)、orchestration(Airflow)、监控、SLA。他们会追问:文件晚到怎么办、schema drift 怎么办、我怎么给客户团队告警。都是现实里很脏的情况。没有 LeetCode 算法。
行为面(45 分钟):很多偏交付的问题。“tell me about a pipeline that failed in production and how you handled it.”(讲讲一次生产环境里 pipeline 失败了,你怎么处理的。) “describe how you managed expectations with a non-technical stakeholder when a project slipped.”(当项目延期时,你是怎么和非技术干系人管理预期的。) Accenture 很看重 client-facing 能力,就算是技术岗也一样。如果你完全没有对客沟通经验,至少准备一些故事,能体现你把技术讲给非工程师听。
没有 take-home。也没有 FAANG 那种 system design 白板。架构讨论基本替代了它。
这个岗位的 tech stack 很灵活:Azure、GCP、Snowflake、Databricks,看客户用什么。所以他们评的是云无关的推理能力,而不是某个工具的熟练度。
senior DE 的 offer:在一个中等城市,base 大概 ~$130k。咨询公司通常 band 比大厂窄,但项目多样性是真的。