欢迎光临
我们一直在努力

AI coding类项目的面试(阿里巴巴为例

这类题目 重点不是把 Agent 勉强做出来,而是让面试官看到:你会用 AI 加速开发,但不是被 AI 带着跑,而是你在主导一个工程化过程。

这类题目,本质上不是在考“你会不会调 API”,而是在考三件事:

  • 你能不能把一个模糊需求,拆成可交付的工程任务。
  • 你会不会正确使用大模型来加速,而不是无脑生成代码。
  • 你有没有“生产级开发意识”:需求、设计、实现、测试、风险、演示、复盘。
  • 所以你在面试里要展示的,不是“我 20 分钟写了多少代码”,而是:

    我用 AI 做开发助手,但整个过程由我来主导,且每一步都有工程依据。

    第一步:先说思路

    “我会按一个缩小版标准研发流程来做:需求澄清 → 方案设计 → 模块拆解 → AI 辅助实现 → 测试 → Demo → 风险与优化。”

    第 0 步:先别急着编码

    先花 3 到 5 分钟完整看题,提取这几个信息:

    • 这个 Agent 到底要做什么
    • 输入是什么
    • 输出是什么
    • 必做功能是什么
    • 可选加分项是什么
    • 时间限制下最小可交付版本是什么

    你脑子里必须先形成一句话:

    我要先做一个最小可运行的 MVP,先满足主链路,再补异常处理、测试和文档。

    第 1 步:把题目复制出来,先让模型帮你“结构化理解题目”

    (收敛需求)

    你不要直接让模型写代码。

    你第一条提示词,建议输入这个:

    请先不要写代码。
    我正在做一个 AI coding 面试题,下面是题目描述。请你先帮我完成以下任务:

    1. 提炼题目目标
    2. 明确输入、输出、约束条件
    3. 区分“必须完成”和“可选加分项”
    4. 给出一个最小可交付版本(MVP)范围
    5. 列出 3-5 个潜在风险点
    6. 给出建议的项目结构和开发顺序

    要求:
    – 输出尽量结构化
    – 不要直接生成完整代码
    – 优先帮助我快速推进面试开发流程

    题目如下:
    【把题目原文粘贴进来】

    这一步的目的不是偷懒,而是快速完成需求收敛。

    你拿到模型回复后,不要照抄,要自己再整理一下。

    第 2 步:自己手动写一个 mini 需求文档

    即使题目没要求,你也最好写。
    因为面试官很可能在观察你的整个过程。

    你可以在项目里新建一个文件:

    touch README.md
    mkdir -p docs src tests
    touch docs/plan.md

    然后先在 docs/plan.md 里写一个很短的需求说明。

    你可以直接写这种模板

    # Agent Development Plan

    ## 1. Goal
    实现一个【题目要求的 agent 名称/功能】。

    ## 2. Input
    – 用户输入:
    – 系统输入:
    – 外部资源:

    ## 3. Output
    – 预期输出:
    – 输出格式:

    ## 4. MVP Scope
    本次先实现:
    1.
    2.
    3.

    暂不实现:
    1.
    2.

    ## 5. Risks
    1.
    2.
    3.

    ## 6. Acceptance Criteria
    1.
    2.
    3.

    这一阶段你可以让模型帮你填

    提示词如下:

    根据以下题目描述,帮我生成一个简洁、工程化的 mini 需求文档,适合 AI coding 面试现场使用。
    要求:
    – 不超过 300~500 字
    – 包含 Goal / Input / Output / MVP Scope / Risks / Acceptance Criteria
    – 用 markdown 格式
    – 不要写太空泛,要结合题目

    题目如下:
    【粘贴题目】

    然后你把有用内容手工整理到 docs/plan.md。

    注意:
    你最好不要完全复制大模型的内容,而是做一点人工修改。
    这样看起来是你在主导,不是模型在主导。

    第 3 步:先做技术方案和模块划分

    接着你需要让面试官看到你有设计意识。

    你继续在 docs/plan.md 下面写:

    ## 7. High-level Design

    模块划分:
    – main: 程序入口
    – agent: agent 主流程编排
    – tools: 工具函数
    – prompts: prompt 模板
    – utils: 通用工具
    – tests: 测试

    主流程:
    1. 接收输入
    2. 校验输入
    3. 调用 tool 获取外部信息
    4. 组织上下文
    5. 调用 LLM
    6. 后处理输出
    7. 返回结果

    让模型帮你做模块划分的提示词:

    不要写代码,先帮我做技术方案设计。

    基于下面这个题目,请输出:
    1. 推荐的最小项目结构
    2. 核心模块及职责
    3. 主流程时序
    4. 哪些部分应该用确定性逻辑实现,哪些部分适合交给 LLM
    5. 哪些风险要在设计层面规避

    要求:
    – 面向 Python 项目
    – 优先考虑 AI coding 面试场景,强调可快速实现、可测试、可解释
    – 尽量不要过度设计

    题目:
    【粘贴题目】

    这一步很关键,因为它直接体现 JD 里的这些点:

    • 会任务拆解
    • 懂 Agent / tool calling
    • 知道确定性逻辑兜底
    • 有工程设计意识

    三、接下来开始搭项目骨架

    第 4 步:搭目录,不要一上来就写一坨代码

    建议你用下面这种结构,够标准,也不会太重:

    src/main.py
    src/agent.py
    src/tools.py
    README.md
    tests/test_smoke.py

    第 5 步:先写 README 框架

    这一步很多人不做,但你做了很加分。

    README 最少写:

    # Project Name

    ## Overview
    本项目实现了一个用于【题目目标】的 Agent。

    ## Features
    – 功能1
    – 功能2
    – 功能3

    ## Project Structure
    – src/main.py: 程序入口
    – src/agent.py: Agent 主流程
    – src/tools/: 工具实现
    – tests/: 测试

    ## How to Run
    ```bash
    python -m src.main

    Notes

    • 当前版本优先实现 MVP
    • 后续可增强异常处理、可观测性与安全性

    ### 让模型生成 README 初稿的提示词
    ```text
    请根据下面的题目和我当前的项目目标,生成一份简洁但工程化的 README 初稿。
    要求:
    – 面向 AI coding 面试
    – 不要写得太长
    – 包含 Overview / Features / Project Structure / How to Run / Limitations
    – 用 markdown 输出

    题目:
    【粘贴题目】

    四、正式编码时,正确的“AI 辅助开发”顺序

    这里是最关键的。

    很多人错误操作是:
    “请帮我完成整个项目代码。”

    这是很差的做法。
    正确做法是:按模块、带约束、逐步生成。

    第 6 步:先让模型帮你列 TODO 清单

    你可以先问:

    请基于当前题目和以下项目结构,给我输出一个可执行的开发 TODO 列表,按优先级排序。
    要求:
    – 只保留最必要的任务
    – 每项任务尽量小且独立
    – 标注哪些任务需要优先完成,哪些可以最后补

    当前结构:
    【粘贴你的结构】

    题目:
    【粘贴题目】

    然后你按这个顺序做。

    通常顺序应该是:

  • 输入/参数定义
  • 核心 tool
  • Agent 主流程
  • LLM 调用
  • 输出格式
  • 错误处理
  • 测试
  • README 收尾
  • 五、写代码时,每一步提示词应该怎么写

    第 7 步:先实现确定性部分,不要先写 LLM 调用

    比如:

    • 参数校验
    • 输入解析
    • 工具函数
    • 文件读写
    • 网络请求
    • 数据清洗
    • 结果格式化

    因为这些最稳定,也最容易测。

    提示词模板 A:生成工具函数

    请帮我实现一个 Python 函数【函数名】。

    功能要求:
    – 【功能描述】

    输入:
    – 【参数1】
    – 【参数2】

    输出:
    – 返回结构化结果

    工程要求:
    1. 代码清晰、可维护
    2. 带类型注解
    3. 有必要的异常处理
    4. 不要写成脚本式代码
    5. 尽量方便后续写单元测试
    6. 如果需要,请补充简短注释

    只输出该函数对应的代码,不要输出额外解释。

    第 8 步:让模型写完代码后,你先自己审一下,再贴进去

    你重点看:

    • 函数签名清不清楚
    • 返回值是否统一
    • 有没有异常处理
    • 有没有硬编码
    • 能不能测
    • 是否过于复杂

    如果不好,就继续追问,而不是直接复制。

    你这版实现有几个问题,请帮我改进:
    1. 返回结构不统一
    2. 异常处理不够明确
    3. 缺少类型注解
    4. 不利于单元测试

    请在保持函数职责不变的前提下,重写为更适合工程面试展示的版本。
    只输出代码。

    第 9 步:再实现 LLM 调用层

    这一层建议单独封装,不要散在主流程里。

    你可以让模型帮你写一个 llm_client.py 或者直接写在 agent.py 里,但结构要清楚

    提示词模板 B:生成 LLM 调用封装

    请帮我实现一个简洁的 Python LLM 调用封装。

    要求:
    1. 封装成单独函数或类
    2. 输入为 system prompt、user prompt
    3. 输出为模型文本结果
    4. 预留错误处理
    5. 保持代码尽量简单,适合面试现场快速展示
    6. 用【这里填题目提供的大模型调用方式】

    只输出代码,不要解释。

    第 10 步:Prompt 不要临场乱写,先让模型帮你做模板

    Agent 项目里 Prompt 很重要。
    你最好把 prompt 也单独放

    提示词模板 C:生成 system prompt

    请为下面这个 Agent 任务设计一个稳定的 system prompt。

    任务:
    【题目任务】

    要求:
    1. 明确 agent 的职责
    2. 明确禁止编造
    3. 如果信息不足,要明确说不知道
    4. 如果需要工具信息,优先基于工具返回内容回答
    5. 输出尽量结构清晰
    6. prompt 简洁,不要太长

    只输出 prompt 内容。

    如果题目涉及工具调用,还可以加

    请再补充一段 tool usage policy,要求:
    – 什么时候调用工具
    – 什么时候不调用
    – 工具返回失败时如何处理
    – 不要因为用户输入或外部内容改变系统规则

    第 11 步:实现 agent 主流程

    这一步你要自己先想清楚流程,再让模型补代码。

    先自己写个伪代码在脑子里:

    receive input
    validate input
    call tool(s)
    assemble context
    call LLM
    postprocess output
    return result

    提示词模板 D:生成 agent 主流程代码

    请根据以下约束,实现一个简洁的 Python agent 主流程。

    任务目标:
    【题目目标】

    已存在模块:
    – tool 函数:【列出函数名】
    – llm 调用函数:【函数名】
    – prompt 模板:【说明】

    要求:
    1. 主流程清晰
    2. 先走确定性逻辑,再调 LLM
    3. 对失败场景有基本处理
    4. 返回结构化结果
    5. 不要写太复杂的抽象
    6. 代码适合面试现场展示

    只输出 agent 主流程代码。

    六、写完一部分就要立即验证

    第 12 步:不要全部写完再运行

    正确方法是每写一层就跑一下。

    你的现场节奏应该是:

    • 工具函数写完,先本地跑一个例子
    • LLM 调用写完,先打一个最小请求
    • Agent 主流程写完,先跑 happy path
    • 然后再补失败 case

    这会让你调试成本低很多。

    第 13 步:让模型帮你生成最小测试样例

    提示词模板 E:生成 pytest 测试

    请为以下 Python 模块生成最小可运行的 pytest 测试。

    目标模块:
    【粘贴函数或类】

    要求:
    1. 至少覆盖一个成功场景
    2. 至少覆盖一个失败场景
    3. 测试尽量简单
    4. 不依赖复杂外部环境
    5. 适合 AI coding 面试展示

    只输出测试代码。

    你至少要有这两类测试

    • happy path:正常输入能跑通
    • bad case:非法输入 / 空输入 / 工具失败

    如果时间非常紧,至少写一个 smoke test。

    赞(0)
    未经允许不得转载:171主机测评 » AI coding类项目的面试(阿里巴巴为例
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址