我与千问的实时面试博弈:)

一、思义,你好。我是今天的面试官。

我已经仔细阅读了你的简历。11年的大数据架构与技术管理经验,尤其是在蚂蚁集团从0到1搭建元数据平台、数据质量治理体系,以及在数字马力带领20+人团队并落地AI研发工具提效60%的经历,都非常亮眼。

今天我们重点围绕你最近的工作经历,深入探讨一下你在AI工程化落地和复杂系统架构方面的实战经验。

问题一:AI驱动的研发效能提升

在你的简历中,提到在数字马力通过引入AI Coding、AI Skills等工具,使团队整体交付效率提升了60%以上。这是一个非常可观的数字。

1. 请具体介绍一下,你当时是如何规划和落地这套AI研发体系的?
2. 在推广过程中,遇到的最大阻力是什么?你是如何解决的?
3. 这60%的效率提升是如何量化和评估的?

请开始你的回答。

我的回答:

  ​首先我一开始的话,​我们开始引入 AI 的工具,​我们开始从代码 coding 层面一点一点的深入。​从 coding 中呢,​发现很多有一些复杂的解析,​都可以让 AI 去生成,​很快。​可能我原来需要花2个小时,​现在可能 5 分钟之内,​只要提示词自然语言输入好,​就可以帮我生成相应的代码。​然后的话,​慢慢的我们就开始沿用 AI Skills 技术,​以及后续,​哎,​我们不光是从文档层面去用 AI 去生成设计文档。​需求文档还是从代码根据设计或需求文档去生成代码这样的环节。​那么推进过程最大的阻力在于一开始工程师是对它是抵触的,​不相信。​从一点点开始试用,​到后面大家发现,​哎,​它真的能够解决我们的问题。​所以我就让大家尝试着慢慢从周会呀,​然后从平时日常工作中帮着大家解决问题时,​尝试着让大家使用 AI。​这 60% 呢,​具体,​比如我原来要三天完成的工作,​我们只需要一天时间就完成了,​其实它的效率已经,​这个写的很保守了。​

 

二、针对你刚才提到的“工程师一开始比较抵触”以及“从文档到代码的生成”,我想继续深挖两个问题:

1. 关于量化与评估:抛开个人的体感时间,你当时在团队内部是如何定义和度量这“60%的效率提升”的?有没有建立具体的数据指标看板?
2. 关于落地机制:除了口头倡导和周会分享,作为技术负责人,你在工程流程或管理机制上做了哪些实质性的动作,来确保大家真正用起来,并且保证AI生成的代码质量不会失控?
请结合你当时的实际管理动作,再具体谈谈。

我的回答:

  具体的体感时间在60%的效率提升,​具体的是有的,​我们曾经原来的一个中等型复杂需求的话大概要3天时间,​它牵扯到一开始与产品的对焦,​然后与设计同学的对焦,​最终然后开发和实现,​那么到后面呢我们通过AI的手段直接文档通过AI生成,​生成之后自动生成代码,​只需要人工的微调以及一些哎外部数据源的一些引入需要手动去加入。​其他的话,​那么我们从原来的一个需求需要3天的指标,​直接就上升到一个需求只需要1天就可以完成了。​

三、你提到了一个非常关键的点:“其他的话,自动生成代码,只需要人工的微调以及一些外部数据源的引入需要手动加入”。

我的回答:

  首先他们的微调成本的话怎么说吧?​你根据同学对于项目的或者系统的复杂度,​以及对于系统的掌控度,​他能够决定着怎用什么样的设计模式再进行抽象。​但是对于AI本身生成的代码,​它不管是抽方法还是抽实体已经做的很好了,​但是对于说能否用能帮你去进行架构方面的优化,​可能他还做不到。​以我现在的体感哈。​

 

四、在AI Coding的落地中,“AI生成的代码质量”和“人工微调的成本”往往是最大的痛点。

1. 关于质量保障:既然大部分代码是AI生成的,你们团队是如何验证和保障这部分代码的质量的?有没有引入自动化测试、代码审查(Code Review)的新机制,或者像某些大厂一样让AI来做Code Review?
2. 关于人工微调:你提到外部数据源需要手动加入。在实际开发中,当工程师发现AI生成的代码有逻辑缺陷或者不符合现有架构时,他们微调的成本高吗?你们有没有建立一套“项目级知识库”或“Prompt规范”来减少这种人工干预?
请结合你们团队的具体工程实践,谈谈你们是如何把控AI代码质量的。

我的回答:

  首先他们的微调成本的话怎么说吧?​你根据同学对于项目的或者系统的复杂度,​以及对于系统的掌控度,​他能够决定着怎用什么样的设计模式再进行抽象。​但是对于AI本身生成的代码,​它不管是抽方法还是抽实体已经做的很好了,​但是对于说能否用能帮你去进行架构方面的优化,​可能他还做不到。​以我现在的体感哈。

       review 机制我们是以周的力度,​原来是直接进行某段逻辑的一个讲述。​同时我的团队成员呢,​我每周开周会的时候,​不仅仅是过进度,​而且是要他能说明这个需求的背景,​以及他的问题,​解决的痛点是什么,​和产出的价值是什么。​随后进入代码 review 节,​基本上所有的同学都知道他的业务背景,​那么我们就可以去根据他的去进行 review。​有 AI 的加入之后呢,​我发现 AI 个生成的代码质量是比人要写的好的。​所以说我们会有测试同学,​或者说有专门的 ai 测试工具帮你去,​每一次我们在写完代码同时运行,​本地运行成功,​那么 ai 测试的话会生成相应的单元测试,​还有用例测试。​但是具体的用例可能需要用测试平台的专门的同学,​需要让我们去进行一个自然语言的描述,​为我系统产生哪些用例。​所以这块是这样的。​

 

五、架构与业务深度

1. 关于AI的边界:既然AI在“代码微观层面”写得好,那当你们遇到极其复杂的业务逻辑(比如涉及多个微服务调用、复杂的资金结算规则、或者历史遗留的“屎山代码”)时,AI生成的单测和用例还能准确覆盖吗?你们是如何解决AI“缺乏全局业务上下文”这个痛点的?
2. 关于你的核心价值:既然AI能帮你把中等复杂度的需求从3天缩短到1天,而且AI生成的代码质量很高,那么作为带领20人团队的技术Leader,你个人在这个AI时代的核心价值体现在哪里? 你日常把精力主要放在了哪些AI无法替代的工作上?

我的回答:

  首先第一个问题,​极其复杂的业务逻辑,​其实从这样的解决的一种办法来说,​因为我们需求是每天都会增加,​或者说每周都会来不同的新的需求。​那么对于我的一个解决方案是能够做一个统一的一个需求文档,​这个需求文档以后不需要来一个需求新建一个需求文档,​再去建一份设计,​而是基于这份全局的一个需求文档,​设计文档,​我们进行不断的更改,​不断的迭代。​那么无论对于新人。​还是对于老人来说,​对于整个系统架构的清晰认知,​不会来回的跳转文档,​从而带来的一个很高的一个沟通成本、时间成本、熟悉成本。​同时新人上手的难度也会大大的降低,​因为整个的文档已经将系统的边界以及系统各个模块的细节都把握的很好了,​甚至包括异常处理。​所以对于极其复杂的,​需要文档能够对于整个系统的一个描述具有非常清晰的边界和认知,​以及对这个系统有有全局性的,​又有到细节的个描述。​然后从而降低 ai 对于历史上下文的获取。​

  那么在 AI 时代,​我更多会通过历史的,​大家的系统,​还有或者说是整个的一个我们的数据中台的一个架构,​进行不断的一个迭代。​我会对 AI 发起新的理论,​新的一个业务场景的是否有突破点的和 AI 之之之间进行一个讨论,​同时去推导和验证更好的,​不管是分布式的,​基于贝叶斯理论的,​还是基于 CAS 理论的,​或者说某个技术它未来发展方向的一种探索,​以及结合我们企业自己业务场景的一种。​实践和推演,​以及预测,​甚至后续的规划。​

 

六、你在蚂蚁集团从0到1搭建了元数据平台和数据质量治理体系,这在大数据领域是非常硬核的工作。

1. 关于从0到1的破局:当时蚂蚁的数据规模和业务复杂度已经非常高了,你是如何定义这个平台的“第一步”的?在数据源接入、元数据采集、血缘解析这些环节中,你优先攻克的是哪个痛点?

2. 关于数据质量治理:很多团队做数据质量,最后都变成了“告警疲劳”——每天几百条告警,但真正有用的没几条。你们当时是怎么设计数据质量规则和告警机制的?如何确保告警是“可行动的”而不是噪音?

3. 关于业务价值:这个平台上线后,对下游的数据分析、数据开发、或者业务决策,带来了什么可量化的改变?
请结合你在蚂蚁的实际经历,挑你最想展开的点来聊。

我的回答:

  首先,​本身企业的问题在于找数难,​数据重复度高,​数据质量无法把控,​没有管控系统去保障数据质量,​都是靠数据专家人为的每天运维,​或者在事后由摩萨德系统去进行一个整个的一个监控告警去修改。​数据延期,​数据整个产出的时效性都无法保障。​在这种大的痛点之下,​我们建立了一套统一的元数据。​中心,​借鉴开源 Hive Meta 的数据字典,​我们重构了,​将其重构后,​让其适用了。​企业级,​蚂蚁集团自己适应的一个统一元数据中心,​这是第一个问题。​那么它解决了是数据的找数难,​以及数据的重复度高,​还有包括哎数据质量无法把控,​数据产出延迟等问题,​优先解决的是这样的一个问题。

  其次,数据质量治理,​它不是一个平台,​一个告警平台。​它是要从事前管控措施,​事中怎么样去保障它的数据产出,​事后它已经落地之后,​所有的巡检治理,​它是一套闭环的一个打法体系。​那么事前我们去规范蚂蚁集团的整个的研发规范,​然后让他尽可能不让脏代码或者不规范的代码发到线上,​那这是事前管控。​事中我们会有基线的保障,​我们会有场景分级的保障。​这样来去给高优任务打上优先级,​享受优先的资源。​同时会有摩萨德等相应的告警系统进行一个每日运行态的一个事后的一个整个的一个告警监控,​以及跟巡检结合历史上存量的一些哎比较那个比较不规范的代码,​或者可能会造成问题的代码,​那么我们会将其进行一个巡检治理的一个手段。​和如果说在规定时间内。​他不去治理,​那么他在新增增量任务的时候将会会进行管控。

 

七、既然你提到了这套严密的闭环体系,尤其是“不治理就不让上增量任务”这种带有强制性的管控手段,那么在实际落地中,必然会触动很多团队的利益。作为这套体系的负责人,我想向你抛出两个在真实大厂环境中极具挑战性的问题:

1. 关于跨部门博弈:当业务方急需上线一个新功能,但他们的上游数据存在历史遗留的“脏代码”或质量问题,触发了你们的增量管控拦截。此时业务方非常着急,甚至找你的上级施压,作为技术Leader,你如何处理这种“业务进度”与“数据质量底线”的冲突?
2. 关于基线与资源:你提到了“事中会有基线的保障,给高优任务打上优先级享受优先资源”。但在实际的大数据集群中,资源往往是有限的。当多个高优任务同时发生资源竞争,或者某个高优任务本身发生了死锁/数据倾斜导致阻塞时,你们的基线保障机制是如何进行动态调度和降级处理的?

请结合你在蚂蚁集团的实际管理经验,谈谈你是如何平衡“业务灵活性”与“治理刚性”的。

我的回答:

  好的,​​业务方急切上线一个功能,​我们我们会具备审批升级的一个功能。​这个功能的话是指的是当业务紧急上线,​而且是高保任务的时候,​我,​他必须,​他无法进行一个规范的一个书写,​或者说急需上线或者线上 bug。​ 那么他会走紧急发布的流程。​紧急发布的话会通知他的 leader,​他的 leader 的 leader 进行一个审批。​然后审批通过之后,​他才能发布到线上。​这样的作用就是。​你如果说要紧急发布,​要很着急,​业务比较急,​那么你的主管和主管就必须得去 review 你的代码,​确定,​确保线上没有问题。​同时,​在落地的过程中,​我们会有,​因为有一些高保的任务,​他们必须管控,​因为他可能会造成资损,​可能对集团造成极大的影响,​这是从上层自上而下都是认可的事情。​而且通过沟通必须去做的事情,​是蚂蚁体系组织文化中的铁三角,​对于数据质量的保障的一个。​组织专门去允许做的事情,​我们逐步推广,​直到所有的蚂蚁集团数据团队全部应用。​

八、刚才我们聊了数据质量治理的闭环体系,你展现出的跨部门博弈能力和组织影响力非常出色。接下来,我们换到一个更偏底层架构的话题——分布式系统设计。

作为11年经验的架构师,分布式系统应该是你的“舒适区”。我想结合你实际负责过的系统,聊两个问题:

1. 关于架构决策:在你过往的经历中,有没有一次让你印象深刻的架构重构或技术选型决策?当时面临的核心矛盾是什么?你做了哪些trade-off(权衡),最终效果如何?

2. 关于线上故障:分布式系统最怕的就是"雪崩"。你有没有经历过严重的线上故障(比如缓存穿透、分布式事务不一致、消息积压等)?当时你是如何快速定位和恢复的?事后做了哪些架构层面的改进来避免同类问题再次发生?

请挑一个你最有把握、最有故事可讲的场景来展开。

 我的回答:

  架构重构和技术选型的决策主要来于它未来的发展的可能性的一种预测。​那么重构本身,​我会根据系统整个的一个,​它的一个是否高内聚、低耦合,​具备扩展性,​同时代码是否具有鲁棒性,​整个的这四点进行一个综合的平衡,​决定着是否要重构。​比如说我们的性能瓶颈,​我们的 CPU 开始飙升,​我们的 load,​我们的内存 memory 已经系统不断的在一个水位上产生告警。​那么我们就会考虑系统是否要重构。​同时重构的技术选型的话,​有一些比如说频繁查数据库的,​我们会考虑用缓存技术。​有一些,​哎,​缓存中如果出问题,​不,​如果说缓存无法保障,​或者说是缓存技术中,​比如用 redis 呀,​还是用 elasticsearch 啊,​是查询比较多呢?​还是说分布式中 AP 还是 CP 比较多的这样的一个场景进行技术的一个选型和决策。​那么线上故障,​最严重的线上故障其实不是分布式最那个什么。​呃最严重的线上故障是系统一个配置缓存的问题,​导致数据一直不正确。​经过历史我对系统的判断以及整个的对它的把握,​它一定可能出现在这个问题上,​紧急去查排查,​最后发现确实是完成了整个的一个紧急任务的一个处理。​
  对于业务上来说,​因为整个业务的发展,​我们一开始的一个产品或者一个系统的建设,​一定是基于当下的一个痛点或者业务增长而决定的去做这件事情。​但是产产品整体的一个形态和领域模型的设计,​实体的映射关系,​其实都是没有确定的。​那么在这个没有确定的情况下,​我们很多的模型,​数据字典,​可能设计就不是遵循三范式去设计的,​而是说某一些,​哎,​我们不确定的一个模型,​我们会给它打成一个 Jason。​未来扩展了,​可能哎业务发展真正增长量到一定瓶颈了,​再把 jason 成相应的扩展表或者实体模型。​

九、既然你提到了这个非常经典的场景,我们就顺着往下挖一步。在实际操作中,把 JSON 字段拆分成独立的扩展表或实体模型,往往会面临历史数据清洗和线上业务兼容的巨大挑战。

结合你的实战经验,我想问两个落地细节:
1. 平滑迁移:在把 JSON 拆分成关系表的过程中,你们是如何做到业务无感知、平滑迁移的?
2. 查询兼容:拆分后,下游原有的查询逻辑可能还是查 JSON,你们是如何解决新老查询逻辑兼容的问题的?

请结合你的实际经历,谈谈你们当时是如何优雅地完成这次“模型演进”的。

我的回答:

  首先我们相当于是有一种限流机制,​我当新的实体模型出来之后,​要进行数据割接。​首先两方面同样双写,​在双写的时候,​我们会进行部分流量的新的数据库的一个打入。​同时的话,​而且读写本身是分离的,​读的话读的还是老的数据库,​但写写到新的数据库。​直到有一天,​在某个夜晚,​或者说我们的分流已经逐渐变多,​甚至最后全部都已经 OK。​ 发现没有问题。​然后我们就全量的切。​
千问追问:

1. 关于双写的一致性:在“双写”阶段,如果写老库成功,但写新库失败了(或者超时了),你们是如何处理的?是抛出异常让业务重试,还是通过消息队列(MQ)进行异步补偿?如何保证新老库的数据最终一致?
2. 关于回滚预案:在“部分流量打入新库”的灰度期间,如果突然监控发现新库的查询性能严重下降(比如发生了慢SQL),或者数据出现了大面积不一致,你们的紧急回滚预案是什么?如何能在5分钟内把流量切回老库,并保证业务不受影响?

我的二次回答:双写的话,​我们不会让业务重试,​因为这样的话会导致业务的一个响应会比较慢。​那么我们会采用 MQ 消息队列的形式进行异步补偿,​因为我们读的还是老库,​查的还是老库,​写的是新库,​所以只需要异步去补偿就可以了。​那么去保证新老库的数据的最终一致,​也就是 BASE 理论。​那么关于回滚本身,​比如说慢 SQL 了,​那么我们会尝试着在某一段时间如果出现问题的情况下。​可以让他进行一个整个的一个那个老库的一个查询,​或者走 Redis 缓存,​加入外存的加入,​使使我们有另一份保障,​一种兜底的预案。​

十、刚才我们聊了分布式架构的演进,你的实战经验确实很扎实。接下来我们换个方向,聊聊技术管理与团队建设——这也是高级技术Leader面试中必考的话题。

你带领过20+人的团队,在AI时代,技术团队的管理方式其实也在发生深刻变化。我想问你两个问题:

1. 关于团队效能提升:在AI工具普及之后,你作为技术Leader,是如何重新定义团队的研发效能指标的?有没有通过AI工具推动过什么流程变革,带来了可量化的效能提升?

2. 关于人才梯队建设:20人的团队里,必然有资深工程师也有初级工程师。在AI能承担越来越多基础编码工作的背景下,你是如何帮助团队成员成长的?有没有做过什么机制或文化上的调整,让团队整体能力得到提升?

请结合你实际带团队的经验来聊,挑你最想展开的点。

我的回答:

  首先,​在没有 AI 时代的时候,​对于不同层级的一个同学,​我都会给相应的指导。​每周都会鼓励大家进行分享,​轮流的轮流的分享,​你对于技术,​那么这从间接去提高他的主观能动性,​因为他不得不去做,​因为总有会轮到他的时候。​那么在 AI 时代,​我会鼓励他们通过 AI 的问答形式去脱离传统的一种我搜问题,​然后给我的各种答案我去尝试,​而是直接给你标准答案的这种模式。​只能可能说 ai 给的是一个推测和预言的结果,​它并不是绝对正确的。​但是它可以说是接近他最想要的自然语言问答的这个答案。​所以我觉得这是这个一方面。​那么对于 ai 推动了什么流程变革,​带来了可量化的效能提升。​就像我说的,​它使整个软件 ai delivery 交付周期全部 ai 化,​从原先三天工作日的全生命周期交付,​从需求对接,​再到产品设计,​细分设计。​代码开发。​
 

十一、为了让你刚才提到的“AI交付全生命周期”和“人才梯队建设”更加丰满,请你顺着刚才的思路,把这两个点补充完整:

1. 关于效能的量化结果:你刚才提到引入了AI Delivery全生命周期,从需求对接到代码开发。那么,最终交付周期从原来的3天缩短到了多少? 除了速度,这种AI化的交付对代码质量或需求返工率有什么影响吗?
2. 关于人才梯队的转型:既然AI能承担越来越多的基础编码工作,那么对于你团队里的初级工程师来说,他们未来的核心竞争力是什么?在AI时代,你是如何重新定义初级工程师的成长路径,帮助他们从“代码搬运工”向“AI系统架构师/业务专家”转型的?

我的回答:

   AI 代码质量整体它生成的部分的代码,​我不能说从架构层面,​从实现层面,​ AI 生成的代码比初级或者中级工程师写的要好。​这里好指的是不管是异常处理,​还是对于空指针处理,​还是对于不同异常的以及补货和降级方案的一个书写,​它都比人要专业,​起码比初级和中级工程师比较专业。​它的需求返工率比曾经个人以初级工程师或者中级工程师的角度来说,​返工率要比它低的很多。​啊,​初级工程率工程师,​不管是未来我的团队人才梯度,​整个他们,​我会在潜移默化中,​比如说初级工程师从熟写一个功能,​到写一个模块,​到对于系统的 owner,​那么对于中级和高级工程师,​我会让他们能够站在业务的角度去思考问题,​我们能带来什么?​未来的发展是什么?​对于专家级的,​可能更更多的跟我进行一些规划,​跟未来的整个大盘的。​整个业务形态的,​跟业务产生一个共鸣的一种共识,​以及参与业务的未来规划的一个作用。​

posted on 2026-06-25 12:59  溯衍  阅读(4)  评论(0)    收藏  举报