传音控股 Java 笔试
- 轮次
- 笔试
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 单选题 15 道(帖中未列出具体题目,评价为题目较简单)。
- 编程题:股票买卖交易,要求用滚动数组优化(核心代码模式)。
- 编程题:子集和——从一个数组里选数字,凑出和为 m,且不重复(核心代码模式)。
- 简答题:给一个 Agent 和工具列表,设计一个系统架构,用来解决用户反馈的手机网页加载慢的问题。
《参考解析》
- 股票买卖的滚动数组:这类题的标准状态是 dp[i][k][0/1],表示第 i 天、最多交易 k 次、当前是否持股的最大收益;转移是当天不操作或买入/卖出。因为第 i 天只依赖第 i-1 天,可以把天这一维压掉,只留「持有一股」和「不持股」两个变量滚动更新,空间从 O(nk) 降到 O(k)。注意更新顺序——买入要用更新前的不持股状态,写反了会变成同一天反复买卖。
- 子集和凑 m:如果每个数最多用一次,就是 0-1 背包可行性问题,dp[j] 表示能否凑出 j,j 从大到小倒序遍历避免同一个数被重复使用,同时用 parent 数组记录选择以便还原方案。如果允许重复取就是完全背包,内层正序。回溯也能写,但要先排序剪枝,否则在 m 较大时会指数爆炸;面试现场更稳的是先写 DP 版本,再说明回溯的复杂度问题。
- Agent 架构设计题怎么答:这类开放题按「感知—决策—执行—反馈」拆。先明确目标是把模糊的用户反馈转成可验证的技术结论,所以 Agent 的工具集要覆盖查日志、查 APM 指标、查 CDN 配置、查前端资源体积与地域网络质量;流程是先用提取工具把反馈结构化(机型、网络、地区、时间),再由模型决定调用哪个工具,拿到证据后输出结论与建议,证据不足就继续追问或用交互工具向用户补充信息。要主动提三点:工具入参出参要定义清楚让模型能自己判断调用时机、给最大步数和超时避免死循环、每个结论必须附上来源证据,防止模型凭经验编原因。