Data Infra二面面经
完整信息
本篇目录
面试时间:11.13
公司:光轮
岗位:data infra
Q:自我介绍。
Q:你预计什么时候毕业? 如果拿到 offer,是否可以提前实习?可以实习多久? 你倾向的工作地点?
Q:项目问题1
Q:不同团队同名指标口径不一致,你如何对齐口径?
A:每个指标留存文档记录,建表时为每一层表、每个字段补充定义与换算逻辑;开发前和相关团队对齐口径,差异点提前标注,保证各方使用同一套数据定义。
Q:不同团队对指标定义各有诉求,例如 GPU 利用率,你最终如何定义、拉齐指标?
A:优先选择更贴合大多数业务场景的口径;资源允许时同时提供多套口径字段并做好标注。参考历史项目定义,和各方沟通达成共识;如果无法统一,留存多版本口径,使用者可自行换算。
Q:如果业务方修改核心指标定义,要求全量更新存量历史数据,如何评估影响面?如何利用血缘定位下游?
A:先确定修改字段所属数仓分层,依靠血缘图定位受影响下游表。如果下游仅为视图,只修改上游即可;如果下游独立落表,则需要跟随换算逻辑重写下游表。只改字段定义需要重写历史数据,单纯新增字段不需要;重写时复制原有数据副本进行更新,保留原始口径数据。
Q:是否不会直接覆盖历史数据?是否会做数据快照?
A:一般保留原始数据一段时间,方便回退。依托平台自动生成快照,只需要定期维护快照。
Q:大表关联容易出现数据倾斜,你如何治理?
A:提前清洗 ODS 层数据,去除重复值、空值,降低数据量级;探查数据分布,对热点 key 加盐打散,热点逻辑单独拆出处理;调整 Task 并行度,匹配计算资源。
Q:用户提出自然语言取数需求时,Agent 如何确定查询哪张表?
A:按业务场景拆分不同 Agent,大模型根据问题选择对应 Agent;利用业务知识库与向量匹配补全自然语言,完善需求,再编排工具,调用对应 SQL 完成查询。
Q:如果 Agent 生成的 SQL 执行报错,你怎么处理?
A:Agent 只负责规划,不直接修改原始数据;提前限定可用表、权限与任务边界,在测试环境验证后上线。线上报错时熔断链路,根据日志排查优化,避免破坏底层数据。
Q:自然语言转 SQL 不可避免会生成不符合业务的 SQL,你如何解决?
A:采用多 Agent 协作机制:一个 Agent 负责生成 SQL,另一个 Agent 负责审核,结合知识库校验口径与业务合理性,优化 SQL。
Q:多 Agent 互相校验的触发条件是什么,如何控制成本?
A:默认先执行生成的 SQL;执行失败或者校验不通过时,才触发审核 Agent,减少 Token 消耗;也可以设置检查轮次,多次校验不通过转入人工。
Q:写 SQL 的 Agent 和审核 Agent 之间如何传递上下文?
A:提取写 SQL Agent 输出中的 SQL,整理为标准代码,交给审核 Agent;审核 Agent 结合知识库检查权限、口径,优化后输出可执行 SQL。
Q:如果要管理百亿级视频、点云这类非结构化文件,你会怎么设计?
A:先对文件打标,依靠标签进行管理;同类标签的数据放入对应存储,使用 Iceberg 统一管理元数据。
Q:Agent 生成全表扫描 SQL,把数据库资源打满,你怎么防范?
A:给 Agent 设置执行超时限制,超时直接阻断并告警;正式执行前先用样本数据验证 SQL 逻辑,验证通过再上线。
Q:加盐打散会增大数据量、打满 IO,超大表场景下如何优化?
A:提前对表做分区、分桶,将关联数据尽量放在相近分区分桶内,在分区内部完成计算后再传输;必要时拆分任务分批计算,最后合并结果。
Q:了解 Hive 吗?如果在 Hive 上做这套优化,落地步骤是什么?
A:搭建过伪分布式 Hadoop + Hive。Hive 底层数据存放在 HDFS;将高频关联数据放到相同 DataNode,在本地完成计算之后再传输;海量场景更推荐 Iceberg 这类湖格式。
Q:你有没有问题想问面试官?
A:请问这个岗位所属团队和一面是否是同一个数据团队?
A:云平台团队大约二十人,不完全都是数据人员,包含采集、标注、调度流水线相关人员,Data Infra 都在这个组内。
Q:团队内部 AI 的主要用途是什么?
A:一是开发辅助工具;二是孵化基于 Agent 的应用产品。目前正在从 0 到 1 搭建数仓底层基座,基座建成后对外提供 API 查询与 Agent 应用,因此在扩招。
Q:团队是只做数据处理治理,还是从零开发完整数据平台?
A:两者都在推进,优先搭建底层数据资产基座,统一口径,再建设数据资产管理平台与上层模块;数据治理和 Data Infra 同步推进,如果提前实习可以更早参与建设。
#秋招面试记录#
本篇目录
当前问题0119
- 01
自我介绍。
- 02
你预计什么时候毕业? 如果拿到 offer,是否可以提前实习?可以实习多久? 你倾向的工作地点?
- 03
不同团队同名指标口径不一致,你如何对齐口径?
- 04
不同团队对指标定义各有诉求,例如 GPU 利用率,你最终如何定义、拉齐指标?
- 05
如果业务方修改核心指标定义,要求全量更新存量历史数据,如何评估影响面?如何利用血缘定位下游?
- 06
是否不会直接覆盖历史数据?是否会做数据快照?
- 07
大表关联容易出现数据倾斜,你如何治理?
- 08
用户提出自然语言取数需求时,Agent 如何确定查询哪张表?
- 09
如果 Agent 生成的 SQL 执行报错,你怎么处理?
- 10
自然语言转 SQL 不可避免会生成不符合业务的 SQL,你如何解决?
- 11
多 Agent 互相校验的触发条件是什么,如何控制成本?
- 12
写 SQL 的 Agent 和审核 Agent 之间如何传递上下文?
- 13
如果要管理百亿级视频、点云这类非结构化文件,你会怎么设计?
- 14
Agent 生成全表扫描 SQL,把数据库资源打满,你怎么防范?
- 15
加盐打散会增大数据量、打满 IO,超大表场景下如何优化?
- 16
了解 Hive 吗?如果在 Hive 上做这套优化,落地步骤是什么?
- 17
A:请问这个岗位所属团队和一面是否是同一个数据团队?
- 18
团队内部 AI 的主要用途是什么?
- 19
团队是只做数据处理治理,还是从零开发完整数据平台?