面灵AI→

拼多多算法岗一面:特征共线性、GRPO 与股票买卖题

轮次
一面
时间
2026-10
来源
牛客网

《面试题目》

  1. 个人自我介绍。
  2. 详细阐述暑期实习核心项目内容、业务背景与个人负责模块。
  3. 讲解项目内特征构建与生产逻辑,是否分析过特征生效的底层原因。
  4. 训练过程中如何识别特征共线性问题,以及对应的解决、规避方案。
  5. 说明项目任务的类别标签设计思路、划分依据与设计考量。
  6. 项目中 GRPO 算法的完整落地流程,以及奖励函数的设计逻辑、调优思路。
  7. 对比讲解 PPO、GRPO、GSPO 三种强化学习算法的原理差异与适用场景。
  8. 横向对比 DPO 与 GRPO 算法的优缺点、落地适配场景、各自局限性。
  9. 介绍项目所用模型整体架构、训练使用的损失函数及设计理由。
  10. 尝试过纯分类、纯回归模型做任务的效果差异吗?分别有什么优劣。
  11. 实习落地过程中遇到的最大技术难点,以及完整的解决复盘过程。
  12. LeetCode 122:买卖股票的最佳时机 II(可多次交易)。
  13. LeetCode 123:买卖股票的最佳时机 III(最多两次交易)。
  14. 了解部门核心业务方向(本次为交叉面试)。
  15. 咨询部门日常工作节奏、加班与工作强度情况。

《参考解析》

特征共线性:先看业务含义,再看数据。连续特征两两算 Pearson / Spearman 相关,分类特征做卡方或互信息;多变量共线性用 VIF,一般 VIF 大于 5 或 10 就认为明显。处理上优先删冗余特征、做业务合并,其次用 L2 正则、PCA 或树模型降低影响;如果保留,要在模型解释和线上稳定性上说明代价。面试官追问“是否分析过特征生效的底层原因”,要能落到特征与 label 的因果/相关机制、分桶单调性、上线后的特征漂移,而不是只报 AUC。

PPO、GRPO、GSPO 与 DPO:PPO 是 actor-critic 的 on-policy 算法,用 clip 限制策略更新,需要 value 网络估计优势,稳定但显存和调参成本高。GRPO 去掉 critic,对同一 prompt 采样一组回答,用组内相对奖励算优势,适合可验证奖励的推理/Agent 任务,省显存但依赖组内对比质量。GSPO 进一步按序列级重要性比率做优化,缓解 token 级比率方差大、长序列训练不稳的问题。DPO 则是离线偏好优化,直接用偏好对构造分类损失,不需要在线采样和 reward model,简单稳定,但依赖偏好数据覆盖度,探索能力弱于在线 RL。选型看任务:有可靠 verifier、要探索就 GRPO/GSPO;偏好数据充足、追求稳定低成本就 DPO;需要成熟稳定的在线 RL 基线就 PPO。

GRPO 奖励设计:奖励要可验证、难作弊、能区分好坏。常见组合是结果奖励(答案是否正确、任务是否完成)、格式奖励(是否按 schema 输出、工具调用是否合法)和过程奖励(步骤是否合理、是否引用证据),再对长度、重复、越权等加惩罚。训练时按组内归一化算优势,奖励尺度要统一,避免某一项独大;难度要分层,太简单全对、太难全错都没有梯度。上线前用固定评测集看通过率、格式合规率和平均步数,防止模型学会钻规则空子。

两道股票题:122 题允许多次交易,贪心即可,只要后一天价格高于前一天就把差值累加,时间 O(n)、空间 O(1);也可以用状态机 DP,持有/不持有两个状态滚动更新。123 题最多两次交易,用四个状态做 DP:第一次买入、第一次卖出、第二次买入、第二次卖出,按天滚动更新,最后取第二次卖出与 0 的较大值;通用写法是把 k 次交易压成 buy[j] / sell[j] 两个数组。手写时注意初始化用负无穷表示不可达,避免把“没交易”算成亏损。

纯分类与纯回归:分类输出离散标签,优化交叉熵,评估看准确率、F1、AUC,适合标签边界清晰的场景;回归输出连续值,优化 MSE/MAE,评估看误差,适合有序且距离有意义的任务。同一任务上,回归保留更多序信息,但容易被离群点拉偏;分类更稳健,却丢掉类别间的距离。实践里可以回归后阈值化,或分类后输出概率,用业务指标决定;关键是比较标签分布、样本量和线上收益,而不是只看离线损失。