阿里云Agent开发一面 好难啊

整体面试还是不错的,但是没后续了,不知道是哪里出了问题
1.实习拷打
2. double 处理金额会发生什么问题?通常用什么来替代 double?
3. 字符串怎么转成字节数组?在 Java 中默认编码是什么?
4. 一个英文字符占多少位?中文占多少位?
5. 创建 MySQL 数据库的编码utf8mb3 和 utf8mb4 有什么区别?
6. 有在工作中处理过 emoji 表情字符吗?怎么去存储表情在数据库中?
7. 字符串拼接用 + 号和用 StringBuilder 有什么区别?
8. 遍历 List 的过程中,根据条件删除元素的正确操作是什么?(注:不能使用 list 本身自带的 remove,要用迭代器的 remove)
9. 初始容量为 4 的 ArrayList,放 10 个元素会发生几次扩容?
10. 假设有一个对象包含一个非静态的 private 方法,如何通过反射调用它?需要哪几步操作?
11. 8G 内存的机器跑一个 Java 常驻进程,你会怎么分配堆内存和元空间?设置哪几个参数比较好?
12. 假设是一个需要用到 NIO 的 Netty 之类的一些框架的一个程序,出现操作系统把 Java 程序杀掉的情况,该从哪些方面怎么排查?(答了内存、cpu、日志三个方面)
13. 如果死前内存占用 97%,死后降至 15%;死前 CPU 占用仅 20%-30%,这是发生了什么?(答了可能出现了循环创建等情况)
14. Java 循环创建会先把分配好的堆内存打满吗?请描述从开始循环创建到进程被杀死的整个流程。
15. 静态对象或变量会出现循环创建吗?
16. 在上述内存打满、CPU 较低的场景中,会有大量的 Full GC 吗?为什么?(不会,因为 Full GC 会使 CPU 占用过高)
17. 操作系统判定进程资源使用不合理将其干掉,去哪看系统底层日志?
全部评论
问的真的感觉比较难啊
点赞 回复 分享
发布于 04-16 23:34 北京

相关推荐

目前agent还是需要学习传统的开发的。先说说传统开发这块的核心技能,对 Java 程序员来说,这些都是绕不开的基本功:扎实的后端开发能力Agent 需要处理复杂的任务流程,比如任务拆解、多工具调用、状态管理,这和后端开发里的 “业务逻辑设计”“接口开发”“并发处理” 是相通的。你得懂怎么设计一个高可用的服务架构,怎么用 SpringBoot 搭建项目,怎么处理多线程下的任务调度 —— 这些能力能帮你把 Agent 的 “骨架” 搭得稳。比如做一个电商智能客服 Agent,你需要设计它的对话流程引擎,这和后端写订单流转逻辑的思路是一致的。数据结构与算法基础Agent 的核心是 “决策”,而决策依赖高效的信息处理。比如 Agent 在做工具选择时,需要快速匹配当前任务和可用工具的关联度;在处理长上下文时,需要对信息进行筛选和压缩。这些场景都需要用到字符串处理、哈希表、树结构等基础数据结构,以及贪心、动态规划等算法思想。刷 LeetCode 练的那些题,本质上就是在锻炼这种 “高效解决问题” 的思维,对 Agent 的决策模块设计至关重要。数据库与中间件技术Agent 需要存储大量的上下文数据、用户偏好、任务历史,这就需要你懂 MySQL、Redis 这些数据库的使用。比如用 Redis 做 Agent 的会话状态缓存,用 MySQL 存储长期的用户行为数据;如果是分布式 Agent 系统,还得用到消息队列(比如 Kafka)来做任务异步通信。这些传统中间件的使用经验,能帮你解决 Agent 开发中的 “数据存储” 和 “系统协作” 问题。在传统开发的基础上,再叠加这些 AI 相关的技术,才算真正入门 Agent 开发:大模型基础与 API 调用能力大模型是 Agent 的 “大脑”,你得懂大模型的基本原理,比如 Prompt 工程、上下文管理、多轮对话的一致性处理。还要熟练掌握主流大模型的 API 调用,比如 OpenAI、通义千问的接口,知道怎么传参、怎么处理返回结果、怎么解决调用超时或报错的问题。更重要的是,要学会根据任务场景选择合适的模型 —— 比如处理复杂逻辑用 GPT-4,做轻量化对话用 ERNIE-3.0-Turbo。RAG(检索增强生成)技术纯大模型的知识容易过时,而且容易 “胡说八道”,RAG 能让 Agent 调用外部知识库,提升回答的准确性。你需要学习向量数据库(比如 Chroma、Milvus)的使用,知道怎么把文档转换成向量、怎么做相似性检索、怎么把检索结果和 Prompt 结合起来喂给大模型。这部分技术是 Agent 落地企业级场景的关键,比如做一个企业内部的智能助手 Agent,就需要用 RAG 对接公司的知识库。工具调用与多智能体协作一个强大的 Agent 不能只靠大模型 “空想”,还得会调用外部工具 —— 比如查天气、查数据库、调用第三方 API。你需要学习工具的封装方法,设计清晰的工具描述(让大模型知道什么时候该用这个工具),以及处理工具调用的异常情况(比如工具调用失败怎么重试)。如果想做更复杂的 Agent 系统,还得研究多智能体协作,比如让一个 “规划 Agent” 拆解任务,再分给 “执行 Agent”“评估 Agent” 去完成,这就需要设计智能体之间的通信协议和任务分配机制。Agent 框架的使用与二次开发不用从零造轮子,主流的 Agent 框架(比如 LangChain、AutoGPT、AgentBuilder)已经封装了很多基础功能。你需要学会用这些框架快速搭建 Agent 原型,比如用 LangChain 的 Chain 和 Agent 组件,组合出任务流程;更进阶的是,根据业务需求对框架进行二次开发,比如自定义工具、自定义决策逻辑,这就需要你能读懂框架的源码 —— 而这又回到了传统开发的代码阅读能力上。
想从事Agent应该学习...
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务