阶跃星辰开发者关系实习一面:Agent 架构、LangGraph 与语言基础
- 轮次
- 一面
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- 自我介绍。
- 为什么申请阶跃星辰?以及为什么申请阶跃星辰的这个岗位?
- 为什么你会对这个职位感兴趣?
- 你知道你现在申的是什么岗位吗?
- 你之前了解过这个职位吗?
- 你平时做软件开发时的 AI 工具栈有哪些?
- 如果让你从头给自己做一个 personal agent,去解决你生活 / 上学 / 办公中的痛点,你会怎么做?
- 介绍一下你的 Agent:从最开始有这个需求,到怎么利用工具把它做出来?
- 这个 agent 的架构 / 框架是怎么设计的?
- 这个东西是什么时候做的?
- 为什么当时要用 LangChain?(面试官补充:大家去年年初开始都主要转 LangGraph 了,更方便维护)
- 你还做过其他项目吗?介绍一下,从 high level 的角度。
- 搭建 agent 框架时,对它的性能而言比较重要的考量有哪些?
- 你日常生活中用什么 agent?除了 coding agent 以外,你自己在用哪些 personal agent?
- 你说 Hermes 是「时代的眼泪」,具体指什么?
- 你对 Harness 的理解大概是什么?你觉得 Harness 包含哪些东西?
- C++ 和 Python 这两个语言有什么区别?
- 那 Java 呢?——Python 和 Java 的区别有什么?
- 它们俩还有什么别的区别吗?(可编译性 / runtime 之外)
- C++ 和 Java 的区别是什么?(C++ 怎么弄、Java 有 JVM、多态怎么实现)
- 你之前去过什么黑客松或者 workshop 吗?
- 你对阶跃的模型有没有什么了解?
- 你之后会怎么工作呢?是线下工作吗?还是?现在住在哪里?
《参考解析》
岗位理解与动机:开发者关系(技术向)是把模型能力翻译成开发者能上手的东西:示例代码、教程、文档与社区。答「为什么是阶跃」别只夸模型强,落到具体产品与开放平台现状;答「为什么是这个岗位」把经历对到三件事:写过代码、讲过东西、泡过社区,再补一句对考核的理解(采用率、文档质量、活动触达)。
Personal Agent 与框架选型:按「需求—方案—取舍—效果」讲:先限定真实痛点,再拆层——输入接入、工具层、记忆、编排、人工确认(有副作用的操作要审批)、可观测。LangChain 偏链式组合、接工具快,适合线性流程;LangGraph 把流程建成状态图,支持分支、循环、断点续跑与人工介入,长流程更好维护。被问为什么还用 LangChain,如实讲取舍:当时流程简单、生态成熟;重做会迁到 LangGraph,断点续跑与状态可视化是刚需。性能顺着延迟、成本、稳定性说:压缩上下文、并行工具调用、简单请求路由到小模型;设 token 预算与缓存;工具失败要重试且幂等。
Harness 的理解:Harness 是模型外面那层执行与治理框架,模型负责「想」,它负责「怎么跑」。通常包含上下文装配、工具注册与权限审批、循环控制(步数 / 时间 / 预算上限、终止条件)、状态持久化与断点恢复、观测与评测(trace、成本、回放),以及多模型路由与降级。它的价值是让 Agent 行为可复现、可度量、可回滚,换模型或换工具时业务层不用改。
三门语言的区别:按执行方式、类型、内存、并发、场景五轴讲最清楚。C++ 编译成原生机器码,无托管运行时,内存手动管理(RAII、智能指针),零开销抽象、性能上限最高,用于系统、游戏引擎、推理内核,代价是开发慢、易出内存与未定义行为问题。Python 解释执行、动态类型,开发效率最高、AI 生态最强,代价是慢、GIL 限制多线程 CPU 并行。Java 编译成字节码由 JVM 执行,JIT 把热点代码编译成机器码,兼顾性能与「一次编译到处运行」,GC 管内存、静态强类型,生态偏企业后端。多态也不同:C++ 靠虚函数表做运行期绑定,Java 由 JVM 做虚方法分派,Python 靠鸭子类型运行期查属性。