水滴 AI 全栈工程师秋招一面面经
- 轮次
- 一面
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- 自我介绍。
- 进程和线程分别是什么?
- 协程了解吗?同一进程内的其他线程会被阻塞吗?线程切换为什么有成本?
- 商品库存是 2,10 个人同时抢,会出现什么问题?怎么解决?
- 什么是虚拟内存?
- TCP 为什么比 UDP 更可靠?
- HTTP 和 WebSocket 有什么区别?
- 数据库索引一般用什么数据结构?为什么是它?
- 什么是 CPU 密集型任务?什么是 IO 密集型任务?
- “逻辑复杂”怎么理解?
- Agent 是什么?loop 是什么意思?为什么会有 loop?
- harness 是什么?它的作用了解吗?
- 提示词工程有哪些技术技巧?
- 用过 OpenClaw 吗?
- 每个月花在 AI 上的费用是多少?
- 用过哪些 AI 工具?用来做什么?
- AI 工具的开发流程是什么样的?
- 有没有学习过一些开发范式?
- RAG 怎么融入这个开发流程?
- 做过哪些 Agent 相关项目?
《参考解析》
基础题:进程是资源分配单位,线程是 CPU 调度单位,同进程线程共享地址空间;协程是用户态调度,挂起时不会阻塞同进程其他线程,但协程里执行阻塞式系统调用仍会阻塞所在线程。线程切换要保存/恢复寄存器、栈和内核状态,还可能触发缓存失效,所以有成本。库存 2 被 10 人抢会出现超卖,解决方式包括数据库条件更新 stock >= n、乐观锁版本号、Redis 预扣加消息队列异步落库,并给订单加唯一约束兜底。
虚拟内存让每个进程看到独立连续地址空间,通过页表映射物理页,支持换页、隔离和共享;TCP 的可靠性来自序号、确认、重传、校验和、流量控制与拥塞控制;HTTP 是请求-响应短连接语义,WebSocket 握手后是全双工长连接,适合服务端主动推送。MySQL InnoDB 用 B+ 树,因为扇出大、树高低、叶子节点链表适合范围查询,且数据都在叶子层,查询稳定。
Agent 部分:Agent 可以理解为“模型 + 工具 + 记忆 + 循环控制”,loop 是让模型反复执行“思考—调用工具—观察结果”直到完成任务或触发停止条件;没有 loop 就只能单轮问答。harness 是承载模型、工具、上下文和评测的运行框架,负责调度、权限、日志和失败恢复。提示词工程常用角色设定、任务拆解、少样本示例、结构化输出约束、思维链/反思、检索增强和自检;但更关键的是把确定性逻辑交给代码,把判断交给模型。
RAG 融入开发流程可以答:需求/文档入库前做清洗和分块,开发时用检索补上下文,生成后做引用校验和回归评测;上线后收集 badcase 再回流知识库。回答时结合自己做过的项目讲清楚数据流、评测指标和失败兜底,比罗列名词更加分。