AI 应用工程师一面面经
完整信息
本篇目录
岗位:AI 应用工程师(飞书多维表格方向)
轮次:一面
形式:视频面
时长:约 70 分钟
一、开场
- 自我介绍
二、算法
- 现场手写一道算法题(1~N个数中选k个,给出可能的答案)
- 追问:时间复杂度和空间复杂度是多少?
三、项目深挖
Agent 相关:
- 为什么项目不用 Claude Code?
- 是否是自己搭建的Agent runtime
- 你的 agent 基座在 memory 压缩、同步/异步、session 总结上是怎么做定制的?
迭代与评测:
- 如何确保迭代时,AI改正的地方是真的有效?人工有没有做什么指引和约束
- 迭代后怎么验证效果?(回归评测、能力评测、灰度、影子 case)
细节追问:
- 你在这个项目里主要承担什么角色?
- 团队规模多大?
- 评测中如果出现「小层面提优、大方向负优化」怎么办?
四、场景设计题:数据分析 Agent
- 假设让你做一个数据分析的 agent,老板经常问「为什么今天这个数据异常 / 标高了」,你会怎么设计?
- Memory 你会怎么设计?
- 上下文怎么管理?
- 需要几个 agent?架构怎么设计?
- 如果业务表结构变了、加了新表,怎么处理?
- 具体怎么落地实现?
- 你觉得难点是什么?
五、服务治理 / 线上问题排查
- 如果一个服务突然变得很卡、很慢,你会怎么排查?
- 如果是 CPU 太高呢,怎么定位?
- 这些你实际工作中接触过吗?
六、数据库
- 数据库索引、事务了解吗?
- 索引的底层原理是什么?
- 最左前缀匹配是什么原理?为什么会失效?
- 读已提交和可重复读的区别?
- 从原理层面讲讲可重复读?
- 如果要放弃可重复读,退到读已提交,你会怎么判断与取舍?如何判定当前服务需要的隔离层级?
八、计算机网络
- 介绍一下一个数据包打到你的服务器网卡,一直到应用程序的全流程
- 介绍一下TCP中发送窗口是如何调整的?
- 具体根据拥塞情况调节的机制?
九、Go / 并发
- 为什么用协程?协程和线程的区别?
- 阻塞状态的 goroutine 是怎么处理的?和线程有什么不同?
- goroutine和线程切换的时候,有什么不同?
- 为什么用户态调度就会比内核态快?底层发生了什么?
- 假设服务器上有10000个goroutine,此时它们是如何调度的?
九、感受
- 项目 + 场景设计题占了大头,几乎全程围绕「AI 应用工程」的方法论在问:memory、context、多 agent 编排、自迭代、评测体系,一个都跑不掉
- 服务治理、数据库、Go 底层这些八股也没放过,B+ 树、MVCC、GMP 挨个来
- 反问环节面试官挺真诚的,聊了不少业务方向和 AI 时代的思考
- 整体感觉:广度 + 深度都要,AI侧要深,基础知识也不能忘
攒人品,希望对后边的同学有帮助 🙏
本篇目录
当前问题0135
- 01
自我介绍
- 02
现场手写一道算法题(1~N个数中选k个,给出可能的答案)
- 03
追问:时间复杂度和空间复杂度是多少?
- 04
为什么项目不用 Claude Code?
- 05
是否是自己搭建的Agent runtime
- 06
你的 agent 基座在 memory 压缩、同步/异步、session 总结上是怎么做定制的?
- 07
如何确保迭代时,AI改正的地方是真的有效?人工有没有做什么指引和约束
- 08
迭代后怎么验证效果?(回归评测、能力评测、灰度、影子 case)
- 09
你在这个项目里主要承担什么角色?
- 10
团队规模多大?
- 11
评测中如果出现「小层面提优、大方向负优化」怎么办?
- 12
假设让你做一个数据分析的 agent,老板经常问「为什么今天这个数据异常 / 标高了」,你会怎么设计?
- 13
Memory 你会怎么设计?
- 14
上下文怎么管理?
- 15
需要几个 agent?架构怎么设计?
- 16
如果业务表结构变了、加了新表,怎么处理?
- 17
具体怎么落地实现?
- 18
你觉得难点是什么?
- 19
如果一个服务突然变得很卡、很慢,你会怎么排查?
- 20
如果是 CPU 太高呢,怎么定位?
- 21
这些你实际工作中接触过吗?
- 22
数据库索引、事务了解吗?
- 23
索引的底层原理是什么?
- 24
最左前缀匹配是什么原理?为什么会失效?
- 25
读已提交和可重复读的区别?
- 26
从原理层面讲讲可重复读?
- 27
如果要放弃可重复读,退到读已提交,你会怎么判断与取舍?如何判定当前服务需要的隔离层级?
- 28
介绍一下一个数据包打到你的服务器网卡,一直到应用程序的全流程
- 29
介绍一下TCP中发送窗口是如何调整的?
- 30
具体根据拥塞情况调节的机制?
- 31
为什么用协程?协程和线程的区别?
- 32
阻塞状态的 goroutine 是怎么处理的?和线程有什么不同?
- 33
goroutine和线程切换的时候,有什么不同?
- 34
为什么用户态调度就会比内核态快?底层发生了什么?
- 35
假设服务器上有10000个goroutine,此时它们是如何调度的?
