27届秋招大模型岗面经

27届秋招大模型岗面经

碎碎念

慌死了

面试记录

面试 时间 回忆 结果
字节-抖音AI搜-一面 2026-08-07_11:00 有同事对这个团队比较熟悉,做的是 VLM RL 跟我实习工作比较 match -
拼多多-弧云计划算法工程师-一面 2026-08-07_15:00 上来一个 leetcode hard,业务不问全是八股,都不会,四十分钟结束,感觉寄了 -
百度-Comate团队-一面 2026-08-10_11:00 一个做 Code Agent 的团队,问了 GRPO 相关的八股,说我是偏基模的,他们团队主要是做框架的,应该好好准备一下 Code Agent 相关的知识和 Lost in the Middle 相关的工作。面完下午很快就约二面了,冲! -
百度-Comate团队-二面 2026-08-11_14:00 期待捏

八股积累

机器学习基础

常用的激活函数有哪些?(拼多多弧云计划一面)

  1. Sigmiod

\[ \sigma(x) = \frac{1}{1 + e^{-x}} \]

输出范围是 \((0, 1)\),浅层神经网络常用。缺点是绝对值较大的时候导数很小,会出现梯度消失,同时输出不是零中心的。现在的深层神经网络已经很少用。

  1. tanh

\[ \tanh (x) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}} \]

输出范围是 \((-1, 1)\),和 Sigmiod 差不多,但是是零中心的,同样存在梯度消失。早期 RNN 用得多。

  1. ReLU

\[ \text{ReLU}(x) = \max(0, x) \]

深度学习很经典的激活函数。优点是计算简单,不会出现梯度消失。缺点是 \(x<0\) 时恒为 0,神经元可能永远无法恢复,也就是所谓的 Dead ReLU

  1. GELU

\[ \text{GELU}(x) = x \Phi(x) \]

其中 \(\Phi(x)\)​ 是标准正态分布的累积分布函数。可以把它理解成一种平滑版的 ReLU:ReLU 是直接决定“保留还是丢弃”,而 GELU 会根据输入大小进行一种平滑的概率加权。BERT、GPT 等 Transformer 模型中大量使用 GELU。

  1. SiLU

\[ \text{SiLU}(x)=x\sigma(x) \]

它也是一个平滑的非线性函数,相比 ReLU,负数部分不会直接被截断。近年来很多大模型会使用 SiLU,例如一些 LLaMA 系列模型的 FFN 中就会结合 SiLU 使用。

  1. SwiGLU

\[ \text{SwiGLU}(x) = \text{SiLU}(xW_1)\odot(xW_2) \]

就是在 LLM 的 SiLU FNN 中加入一个 \(W_2\) 旁路,让 \(\text{SiLU}(xW_1)\)\(xW_2\) 按位相乘,再经过一个 \(W_3\)。模型可以通过门控动态控制哪些特征通过,因此现在很多 LLM 都采用 SwiGLU。

flowchart LR
    X["输入 x"] --> A["W₁"]
    X --> B["W₂"]

    A --> C["SiLU"]
    C --> D["逐元素乘 ⊙"]
    B --> D

    D --> E["W₃"]
    E --> Y["输出"]

常用的损失函数(拼多多弧云计划一面)

回归任务
  1. 均方误差损失 MSE

\[ \text{MSE}=\frac{1}{n}\sum (y_{i} - \hat{y}_{i})^2 \]

\(n\) 是批次大小,\(y_i\) 是真实值,\(\hat{y}_i\) 是预测。优点是平滑,缺点是误差过大则损失过大。

  1. MAE

\[ \text{MAE}=\frac{1}{n}\sum |y_{i} - \hat{y}_{i}| \]

缺点是在 0 处不平滑,优点是相比 MSE 更加鲁棒。

  1. Huber Loss

\[ L = \left\{ \begin{aligned} & \frac{1}{2}(y_i - \hat{y}_i)^2 &, |y_i - \hat{y}_i| \leq \delta\\ & \delta \cdot |y_i - \hat{y}_i| - \frac{1}{2}\delta^2 &, |y_i - \hat{y}_i| > \delta \end{aligned} \right. \]

兼顾了 MSE 的平滑性和 MAE 的鲁棒性。

分类任务
  1. 二分类交叉熵损失(BCE)

\[ L = -y\log(\hat{y}) - (1-y)\log(1-\hat{y}) = \left\{ \begin{aligned} & -\log(1-\hat{y}) &, y=0\\ & -\log(\hat{y}) &, y=1 \end{aligned} \right. \]

不仅用于二分类,也可以用于多标签分类,多标签分类中模型输出的 logit 会经过一个 Sigmiod 得到概率 \(\hat{y}\)

  1. 交叉熵损失

\[ L =- \sum\limits^{C}y_c\log\hat{y}_c \]

对于独热标签的多分类问题,错误答案的 \(y_c\) 都是 0: \[ L=-\log \hat{y}_y \] 也就是模型给正确答案的概率越高,\(L\) 越小。

对比学习
  1. InfoNCE

\[ L=-\log \frac{ e^{\mathrm{sim}(q,d^+)/\tau} }{ e^{\mathrm{sim}(q,d^+)/\tau} +\sum_j e^{\mathrm{sim}(q,d_j^-)/\tau} } \]

拉近正样本,推远负样本。其中 \(\tau\) 是温度,控制 Softmax 的尖锐程度。

  1. Triplet Loss

\[ L=\max(0,d(a,p)-d(a,n)+m) \]

挖坑

大模型算法概念

大模型应用开发

Code Agent(百度 Comate)

Code Agent 的执行流程

Code Agent 的执行流程可以概括成一个 “理解 → 定位 → 修改 → 执行 → 验证 → 迭代” 的闭环。

  1. 理解任务:先分析用户需求,明确要修改什么、目标是什么、有哪些约束。
  2. 探索代码库:通过 ls / glob / tree 看项目结构,再用 grep / rg / LSP 搜索相关函数、类和调用链。
  3. 读取上下文:通过 Read 读取相关代码、配置文件、测试代码,理解现有实现和问题原因。
  4. 制定修改方案:判断应该改哪些文件、影响范围多大,尽量做最小必要修改。
  5. 执行代码修改:通过 Edit / Write 修改代码,必要时新增文件或配置。
  6. 运行验证:使用 Shell 执行单测、编译、lint、运行程序等,例如 pytestnpm test
  7. 根据反馈迭代:如果测试失败,就读取报错、日志或 traceback,重新定位问题并继续修改。
  8. 最终检查:通过 git diff 查看改动,确认没有引入无关修改,测试通过后输出结果。

可以记成一个非常简洁的流程:

flowchart LR
    A[接收任务] --> B[理解需求]
    B --> C[搜索并阅读代码]
    C --> D[制定修改方案]
    D --> E[修改代码]
    E --> F[运行与测试]
    F --> G[观察执行结果]

    G --> H{是否成功?}

    H -->|失败| C
    H -->|成功| I[检查改动并完成]

其中最关键的一点是:Code Agent 不是一次性生成代码,而是基于工具执行结果不断 Observe → Reason → Act,形成闭环。

Code Agent 常用的工具

Code Agent 的工具大体可以分成下面几类:

类别 常见工具 主要作用
文件系统工具 Read / Write / Edit / Glob 读取、创建、修改文件,查找目录和文件
代码搜索工具 Grep / ripgrep / AST Search 搜索符号、函数调用、字符串和代码引用
Shell / Terminal Bash / Shell 执行命令,是 Code Agent 最核心的通用工具之一
代码执行工具 Python / Node / Compiler 实际运行代码、脚本和编译项目
测试工具 pytest / unittest / npm test 等 自动验证代码修改是否正确
Git 工具 git diff / status / log / commit 查看修改、历史版本、代码差异
GitHub 工具 PR / Issue / Actions 阅读 Issue、处理 PR、查看 CI 结果
Web / 文档搜索 Web Search / Fetch / Docs 查询 API 文档、依赖库用法和错误信息
浏览器工具 Browser / Playwright 调试 Web 应用、验证页面行为
LSP / IDE 工具 Definition / References / Diagnostics 跳转定义、查找引用、获取编译和类型错误

其中最基础、最核心的通常就是:

Read / Edit + Grep + Shell。

因为实际上很多 Code Agent 都可以通过 Shell 间接完成大量操作,比如:

1
2
3
4
5
6
7
8
Shell
├── rg / grep → 搜索代码
├── find / ls → 查找文件
├── python xxx.py → 执行代码
├── pytest → 跑测试
├── git diff → 检查修改
├── npm test → 前端测试
└── curl → 调用 API

所以从 Agent 设计角度看,Shell 本身就是一个能力非常强的通用工具

总结

Code Agent 常用工具主要有几类:第一类是文件系统工具,比如 Read、Write、Edit、Glob;第二类是代码检索工具,比如 Grep、ripgrep,用来定位函数和调用关系;第三类是 Shell,可以执行 Python、编译、pytest 等命令;第四类是 Git/GitHub 工具,用来查看 diff、commit、PR 和 CI;另外还可能有 Web Search、Browser、LSP 等工具。

我觉得 Code Agent 最核心的其实是 Read/Edit + Search + Shell。它通过这些工具形成“搜索代码—读取上下文—修改代码—执行测试—根据结果继续修改”的闭环,这也是 Code Agent 相比普通代码生成模型最大的区别。

你觉得 Claude Code 还存在哪些问题

大模型框架使用

vLLM(百度)

为什么使用 vLLM?
v1 相比 v0 有什么变化
OOM 了怎么排查

算法题

编程题

思维题

百度Comate二面

你站在悬崖上面,前面是狼群。悬崖高 200 米,悬崖顶上和中间 100 米处各有一棵树;你有 150 米绳子和一把刀。如何安全下去?


27届秋招大模型岗面经
https://onlyar.site/2026/08/11/NLP-Interview-Knowkedge/
作者
Only(AR)
发布于
2026年8月11日
许可协议