面灵AI→

阶跃星辰开发者关系实习一面:Agent 架构、LangGraph 与语言基础

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

《面试题目》

  1. 自我介绍。
  2. 为什么申请阶跃星辰?以及为什么申请阶跃星辰的这个岗位?
  3. 为什么你会对这个职位感兴趣?
  4. 你知道你现在申的是什么岗位吗?
  5. 你之前了解过这个职位吗?
  6. 你平时做软件开发时的 AI 工具栈有哪些?
  7. 如果让你从头给自己做一个 personal agent,去解决你生活 / 上学 / 办公中的痛点,你会怎么做?
  8. 介绍一下你的 Agent:从最开始有这个需求,到怎么利用工具把它做出来?
  9. 这个 agent 的架构 / 框架是怎么设计的?
  10. 这个东西是什么时候做的?
  11. 为什么当时要用 LangChain?(面试官补充:大家去年年初开始都主要转 LangGraph 了,更方便维护)
  12. 你还做过其他项目吗?介绍一下,从 high level 的角度。
  13. 搭建 agent 框架时,对它的性能而言比较重要的考量有哪些?
  14. 你日常生活中用什么 agent?除了 coding agent 以外,你自己在用哪些 personal agent?
  15. 你说 Hermes 是「时代的眼泪」,具体指什么?
  16. 你对 Harness 的理解大概是什么?你觉得 Harness 包含哪些东西?
  17. C++ 和 Python 这两个语言有什么区别?
  18. 那 Java 呢?——Python 和 Java 的区别有什么?
  19. 它们俩还有什么别的区别吗?(可编译性 / runtime 之外)
  20. C++ 和 Java 的区别是什么?(C++ 怎么弄、Java 有 JVM、多态怎么实现)
  21. 你之前去过什么黑客松或者 workshop 吗?
  22. 你对阶跃的模型有没有什么了解?
  23. 你之后会怎么工作呢?是线下工作吗?还是?现在住在哪里?

《参考解析》

岗位理解与动机:开发者关系(技术向)是把模型能力翻译成开发者能上手的东西:示例代码、教程、文档与社区。答「为什么是阶跃」别只夸模型强,落到具体产品与开放平台现状;答「为什么是这个岗位」把经历对到三件事:写过代码、讲过东西、泡过社区,再补一句对考核的理解(采用率、文档质量、活动触达)。

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 靠鸭子类型运行期查属性。