CVTE AI Agent开发 一面

1、自我介绍

2、现场笔试:用 Trae 二十分钟写一个工具

我通常会先自己确定功能最小闭环,再用 AI 帮我补骨架代码、参数解析和异常处理,然后自己做最后校验,不会完全依赖 AI 自动生成。因为这种场景最容易出问题的地方不是代码量,而是需求理解错、接口设计乱、边界没处理。

下面是一种比较适合这种面试场景的小工具写法,功能是读取文本,做清洗后统计高频词,输出前 k 个词,结构简单,也方便快速展示工程习惯。

import re
from collections import Counter

def clean_text(text: str) -> str:
    text = text.lower()
    text = re.sub(r"[^\w\u4e00-\u9fff\s]", " ", text)
    text = re.sub(r"\s+", " ", text).strip()
    return text

def top_k_words(text: str, k: int = 5):
    text = clean_text(text)
    words = text.split()
    counter = Counter(words)
    return counter.most_common(k)

if __name__ == "__main__":
    sample = """
    AI Agent is useful. AI coding can improve efficiency.
    Agent tools and coding tools are important.
    """
    result = top_k_words(sample, 5)
    print(result)

3、你平时用什么 AI 写代码

4、如何用 AI 写代码的

5、你是如何学习一个新的语言的

6、你了解多 Agent 么,会用多 Agent 开发么

了解,也做过相关设计。多 Agent 不是简单把一个 Agent 拆成多个角色就算完成了,它真正适合的是任务天然可以分工,而且不同角色之间有明确边界的场景。比如一个 Agent 负责规划,一个负责检索,一个负责执行工具,一个负责审查结果,这种结构在复杂任务里会比单 Agent 更清晰。

但多 Agent 也不是越多越好。它最常见的问题是链路变长、误差放大、状态混乱和角色重叠。如果角色边界不清楚,很容易出现多个 Agent 互相覆盖结论、反复讨论却不推进任务。所以实际开发时,我会优先判断任务是不是值得拆成多 Agent。如果只是一个简单查询或固定流程,单 Agent 加工作流往往更稳。只有在任务复杂、需要明显分工时,多 Agent 才有意义。

7、你是如何选择这些模型的?你认为它们各自擅长什么

模型选择本质上要看任务类型、成本、延迟、部署方式和输出稳定性,不是单纯选参数更大的模型。通常我会先从几个维度去判断:第一是任务是不是偏生成、偏分类、偏推理还是偏工具调用;第二是线上更看重效果还是更看重成本和时延;第三是能不能接受云端调用,还是必须本地部署;第四是输出是否需要更强的结构化能力和稳定性。

从能力特点上看,不同模型通常会有明显侧重。有些模型更擅长代码生成和工具调用,适合做开发辅助、Agent 执行和结构化输出;有些模型更擅长长文本理解和总结,适合做知识整理、RAG 问答和文档分析;有些模型在中文表达、指令跟随和业务问答上更稳,更适合国内业务场景;还有些开源模型推理成本更低,适合本地部署、隐私要求高或者需要深度定制的场景。实际选型时,我一般不会

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

AI-Agent面试实战专栏 文章被收录于专栏

本专栏聚焦 AI-Agent 面试高频考点,内容来自真实面试与项目实践。系统覆盖大模型基础、Prompt工程、RAG、Agent架构、工具调用、多Agent协作、记忆机制、评测、安全与部署优化等核心模块。以“原理+场景+实战”为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.

全部评论
这家公司似乎很卷
点赞 回复 分享
发布于 03-19 23:51 北京
问的还是比较基础的
点赞 回复 分享
发布于 03-19 11:49 四川

相关推荐

本人技术栈主要是Python+Go,之前有两段后端实习经历一面一开始面试官就围着我之前的实习项目问,问得还挺细的:当时做项目的时候,为什么要引入父子索引?还有BM25,引入的原因是什么,比例是怎么设置的,整个具体流程是怎样的,有没有做rerank操作?如果做了rerank, rerank之后返回几个块?有没有做过一些验证来确保效果?rerank之后的topk截断是怎么实现的?为什么选这个k值,有没有考虑过其他方案?让我讲一下上下文工程,还有记忆功能是怎么实现的。除了AI相关的项目,还问了我之前做的后端实习项目,都是一些项目里的细节问题。分布式令牌桶限流、漏桶限流,还有滑动窗口算法限流,这三个都让我讲一下。尤其问了滑动窗口的数据结构会包含哪些字段,滑动窗口对比令牌桶有什么缺点,还有用Redis的什么数据结构能实现滑动窗口。又绕回我自己做的项目,让我讲一下LRU的原理和实现。布隆过滤器的原理、应用场景,也让我详细说一下。MySQL索引失效的情况,这块我八股好久没看了,只想起来两个,被面试官追问了好久,有点没答好。面试官还补问了一句,like查询会不会导致索引失效。MySQL的事务隔离级别,还有一致性相关的内容,让我讲清楚。MVCC这块问得特别细,反复追问,还举了具体场景,问这种情况下会创建几个readview,我当时琢磨了半天,尽量把自己知道的都讲了。最后还问了MySQL的锁相关知识,行锁、表锁这些都涉及到了。手撕代码环节,我跟面试官坦诚说,最近一直在实习,好久没刷过题了,然后面试官就出了一道反转链表,不算特别难,慢慢理清楚思路就做出来了。二面跟一面不一样,二面全程没涉及后端相关的问题,全是AI agent和RAG相关的,而且大部分都围绕我之前做的RAG项目展开,问得特别深入。首先问我,做RAG项目的时候,是怎么评测效果的?有哪些评测维度,具体用到了哪些指标?然后问项目里的数据集包含什么内容,数据来源、数据格式这些都问到了。如果让我对RAG的相关度和回答效果做优化,我有什么思路?有没有更体系化的优化方案,而不是零散的调整。面试官还举了个具体场景,比如有一千条数据,需要做求和处理,让我说说这种数据处理场景,我会怎么设计实现。RAG的性能怎么提升,有没有实际的优化思路,不管是工程层面还是算法层面。我项目里的上下文是怎么处理的,有没有什么优化的方向,比如上下文过长、冗余这些问题怎么解决。agent的长记忆和短记忆之间,怎么做到协同工作的,两者的衔接逻辑是什么。最后问我,有什么思路能让自己做的agent更智能?这个问题我感觉太宽泛了,当时没太get到面试官具体想了解什么,就主要围绕我工程开发中遇到的实际问题,讲了一些针对性的优化思路。手撕代码环节,出的是全排列,这个之前刷过类似的,思路比较清晰,顺利做出来了。感觉面试官比较爱问的AI问题就是RAG 的全链路优化、Agent、减少幻觉
查看23道真题和解析
点赞 评论 收藏
分享
评论
点赞
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务