阿里国际 | AI应用研发工程师 | 商品智能 | 暑期实习一面
面试时间: 5.21
技术栈: Agent、Java、Python、Node、SQL、前端
面试题目
1.自我介绍
2.新闻数据来源、数量规模如何存储,数据库表如何设计的,存哪些字段
数据来源:RSS 订阅、爬虫抓取、第三方 API(如 NewsAPI)。存储规模达百万级时采用分库分表或时序分区。表设计核心字段:id、title、content、source、publish_time、category、embedding_vector(外链向量库)、create_time。按发布时间做范围分区,热数据放近期分区加速查询。
3.新闻向量数据库如何分区?文本编码方式,新闻词嵌入,如何召回,编码方式和召回方式如何
分区策略: 按类目/时间分 Collection 或 Partition,减小检索范围。编码方式: 使用 BGE / text-embedding-3 等模型将标题+摘要编码为 768/1536 维向量。召回方式: ANN 近似最近邻检索(HNSW / IVF_PQ),先粗召回 Top-K 再经 Reranker 精排。混合检索时可结合 BM25 稀疏召回 + 向量稠密召回做融合。
4.Multi-Agent 如何协调串接,用你实现的项目说明
典型架构:一个 Orchestrator Agent 负责任务拆解和路由,多个专项 Agent(如搜索 Agent、分析 Agent、生成 Agent)各司其职。协调方式:①顺序流水线(Pipeline):前一个输出作为后一个输入;②并行扇出(Fan-out):Orchestrator 同时调多个 Agent 再汇总;③对话式协商:Agent 之间通过消息队列交换中间结果。关键点在于统一的消息协议、错误重试机制和上下文共享(共享 Memory/State)。
5.Redis 在你的项目中具体使用的场景,为何要使用
场景: ①缓存热点新闻/用户画像,降低 DB 压力;②分布式锁(Redisson),防止爬虫重复抓取;③发布订阅(Pub/Sub)做实时消息通知;④排行榜/计数器(ZSet/INCR)。为何用: 内存级读写(10w+ QPS),数据结构丰富,天然支持 TTL 过期,集群模式水平扩展。
6.如何用 Skill 实现业务意图识别,如何计算意图识别准确率,出现过什么问题
实现: 为每个业务意图定义一个 Skill(包含描述 + 示例),LLM 根据用户输入匹配最相关的 Skill 触发对应流程。可配合 Few-shot prompt 或 Router 模型做分类。准确率计算: 标注测试集(query → 正确意图),跑批评估 Precision/Recall/F1。常见问题: ①意图边界模糊导致误分类;②多意图并存时只识别到一个;③新意图 OOD 样本被强行归类。解决方式:增加"拒识"兜底 + 多标签分类 + 定期补充训练样本。
7.使用 Claude Code 开发的 Vibe Coding 挑战:如何描述任务,如何制定开发规范,重启后再次接上上下文
#聊聊我眼中的AI##发面经攒人品##AI求职记录##我的求职进度条#描述任务: 用自然语言明确目标、约束、输入输出,分层次说清 What → Why → How。粒度适中,太笼统会跑偏,太细碎反而限制 AI 发挥。制定规范: 在 CLAUDE.md 中写明技术栈、代码风格、目录结构、禁止事项,Agent 每次启动自动加载。接上下文: ①利用 CLAUDE.md + Memory 持久化关键决策;②git log/diff 恢复进度;③用 TodoWrite/Plan 记录待办,重启后 Agent 可从断点继续。核心思路是把"脑中隐性知识"外化为项目文件。
查看9道真题和解析