刚走完我在 San Jose 的 Cisco data engineer 面试全套流程。写个拆解,因为我准备时完全找不到具体信息。
先是 recruiter 电话初筛,然后是和团队里一个 DE 的 45 分钟技术面。技术面几乎全是 SQL。不是玩具查询,而是真实的多表 join 聚合、window functions、ranking。他们给了我一个类似 network event log 的 schema,让我按 device 找异常。如果你是数仓背景,可以按 Redshift 或 Snowflake 的方言来想。他们不抠语法,但很在意你是否理解 partitioning 和 indexing。
Onsite 一共四轮: SQL + 数据建模:为 telemetry ingestion pipeline 设计 schema。我画了 star schema。面试官问了和宽表(wide flat tables)相比的取舍。 Pipeline 架构:讲我会怎么搭一条端到端的 Kafka 到 Spark Streaming 到 Postgres pipeline 来做 device health metrics。他们关注容错、exactly-once 语义、late-arriving events。 Python / coding:一题中等难度,大概是把嵌套 JSON event 记录转换成扁平的表格格式。日常做这个的话不难。 Behavioral:标准 STAR。团队冲突、你如何端到端负责一个项目、如何处理模糊需求。
我发现他们真的很看重数据质量。好几个面试官都问我怎么检测上游 schema drift,以及源数据延迟或重复时会发生什么。这个一定要有靠谱答案。
他们招的 level 大概是我理解的 mid-senior DE。不是 entry。你得真的在生产环境跑过 pipeline,而且有相关故事。
时间线:电话初筛到 offer 大概 5 周,感觉挺久,但他们提前说了。薪资没有压价,基本符合 San Jose 这个 level 的市场。
如果有人对 SQL 那轮的细节有问题,欢迎问我。