用途:选拔第 5 步 • 每位候选人限做本方向 1 道题 版本:v1.0 ⚠️ 必须付费。 这是真实劳动,不付费就是变相白嫖,法律与口碑风险都不可接受。
| 项目 | 规定 |
|---|---|
| 时间预算 | 5-8 小时(上限 8 小时,超出部分不要求完成,也不影响评分) |
| 完成周期 | 收到任务后 7 个自然日内提交 |
| 交付方式 | 提交代码压缩包 + README(或提供 Git 仓库链接) |
| 报酬 | 固定【待定】元 / 次(约合【待定】元/小时,对得起你 5-8 小时的投入)。归属招聘成本,不占人力成本额度 |
| 支付时点 | 提交后 5 个工作日内支付,无论是否通过评审 |
| 试做环境 | 使用你自己的电脑与环境,不得使用我方任何真实代码或数据 |
| 允许使用 | 官方文档、搜索引擎、你自己的历史代码 |
| 禁止使用 | AI 编程助手(Copilot / ChatGPT / Claude / Cursor 等)、他人代做、直接复制开源项目 |
| 诚信声明 | 提交时须附一句话声明:"本任务由我独立完成,未使用 AI 辅助工具生成代码。" |
| 代码归属 | 试做任务的成果归我方所有;你保留在个人作品集中非商业展示的权利 |
| 数据要求 | 不得使用任何真实用户数据;如需数据请自行构造 |
为什么禁 AI 而允许搜索? 因为搜索是"查资料",AI 生成是"替代你思考"。我们要评估的是你自己现在的能力水平——如果 AI 代做了,进来之后你会很痛苦,我们也会很痛苦。 实践中如何验证:面试时会针对你的提交代码做追问("这块为什么这么写""如果改成 X 会怎样"),答不上来即判定为代做。
| 评审项 | 权重 | 说明 |
|---|---|---|
| 可运行性 | 30% | 能否按 README 顺利跑起来 |
| 完整性 | 25% | 功能点是否齐全、边界是否处理 |
| 可读性 | 20% | 命名、结构、注释、有无调试残留 |
| 说明文档 | 15% | README 是否说清怎么跑、做了什么、已知问题 |
| 自测意识 | 10% | 有无自测记录、测试用例、截图 |
# 项目名
## 1. 如何运行
(环境要求、安装命令、启动命令,让别人能照着跑起来)
## 2. 我做了什么
(实现了哪些功能,哪些没做,为什么)
## 3. 自测情况
(怎么验证的,截图/日志/测试结果)
## 4. 已知问题与我的取舍
(哪里做得不够好,如果时间更多会怎么改)
第 4 段是加分项。 能主动说出自己不足的人,通常更值得带。
我们的系统需要支持用户上传附件(图片/PDF),并能在后续按条件查询自己上传过的文件。请实现一个简化的后端服务。
必须实现(60 分)
POST /files,接收文件上传
GET /files,支持按文件类型和上传时间范围筛选,返回文件列表GET /files/{id},返回文件元数据;文件不存在时返回 404建议实现(25 分)
{"code": "...", "message": "..."})加分项(15 分,任选)
| 观察点 | 说明 |
|---|---|
| 异常处理 | 会不会想到"如果用户传了个 100MB 的 exe 会怎样"——这是最核心的观察点 |
| 错误码设计 | 是否区分了"参数错"和"系统错" |
| 测试意识 | 有没有测异常分支,而不只测成功路径 |
| 说明文档 | README 能不能让一个陌生人跑起来 |
| 代码结构 | 有没有把"路由/业务/存储"分得清清爽爽(不要求分层架构,但不能全塞一个文件) |
print("111") 之类的调试残留我们的产品里有一个任务列表页,需要展示任务标题、状态、创建时间,并支持筛选和操作。请实现这个页面。
必须实现(60 分)
建议实现(25 分)
加分项(15 分,任选)
| 观察点 | 说明 |
|---|---|
| 三态是否真的都做了 | 这是最核心的观察点。只做成功路径的候选人占大多数 |
| 防抖是否理解 | 是复制粘贴的,还是能解释"为什么需要" |
| 状态管理 | 点击"完成"后,界面是否真的同步(而不是只改了按钮样式) |
| 组件复用 | 有没有识别出可复用的部分 |
| 代码组织 | 数据请求、状态、渲染是否混在一起 |
index.html 里随任务提供一份简化的需求文档(约 1 页)和一个可运行的简易演示程序(一个 Docker 镜像或本地脚本,可选)。请你针对这个功能设计测试用例并执行测试,输出缺陷报告。
必须实现(60 分)
建议实现(25 分)
加分项(15 分,任选)
- 用户可用"手机号 + 密码"登录
- 密码规则:8-20 位,必须包含字母和数字
- 连续输错 5 次,账号锁定 30 分钟
- 找回密码:输入手机号 → 获取短信验证码(6 位,5 分钟有效)→ 输入新密码 → 完成
- 同一手机号 60 秒内只能获取一次验证码
| 观察点 | 说明 |
|---|---|
| 异常与边界覆盖 | 这是测试岗位的核心能力。"只测正常流程"直接判定不合格 |
| 缺陷描述质量 | 复现步骤是否任何人照着做都能复现(这是最硬的指标) |
| 优先级判断 | 是否理解"哪些必须先测" |
| 测试总结 | 能否诚实说出"我没测什么"——这体现职业素养 |
| 用例可维护性 | 编号、分类、分层是否清晰 |
给候选人的提示:这个岗位最值钱的能力不是"会点",而是能想到别人想不到的情况。请大胆假设刁钻的场景。
背景:随任务提供一段"客户口述"的混乱需求(约 300 字,逻辑跳跃、前后矛盾、夹杂未说明的前提)。
示例(节选):
"我们想加个功能,就是用户能传文件上来,然后呢别人也能看到,但是不是所有人都能看到啊,得看权限,管理员肯定都能看,普通用户只能看自己的,还有那种共享的……哦对了文件大了怎么办,我们之前就有人说传不上去,还有要能删掉,删了之后还能恢复吗这个你看着办,最好手机上也能用……"
交付要求(必须,60 分)
建议实现(25 分)
加分项(15 分)
背景:随任务提供一个真实(但已脱敏)的小型开源项目的代码仓库,要求你阅读代码后编写一份开发环境搭建与代码结构说明文档。
交付要求(必须,60 分)
建议实现(25 分)
加分项(15 分)
| 观察点 | 说明 |
|---|---|
| 结构化能力 | 能不能把混乱信息整理成有条理的清单 |
| 边界意识 | 选项 A:有没有主动界定"不做什么";选项 B:有没有标注不确定的部分 |
| 可执行性 | 文档别人照着能不能做成事(这是文档的唯一标准) |
| 状态完整性 | 线框图有没有画出加载/空/错误/无权限——只画正常界面是不合格的 |
| 表达清晰度 | 有没有错别字、编号断裂、图文不一致 |
| 步骤 | 动作 | 负责 | 时点 |
|---|---|---|---|
| 1 | 向通过技术面的候选人发送任务说明(含 README 模板) | TL | 面试后 1 个工作日 |
| 2 | 确认候选人已收到并理解规则(特别是"禁用 AI""必须付费"两条) | TL | 同上 |
| 3 | 中途不提供技术帮助(但可回答"规则类"问题,如格式、提交方式) | TL | 全程 |
| 4 | 收件并登记(代码包 + README + 诚信声明) | TL | 截止后 |
| 5 | 按 A2 试做评审表打分 | TL + 对应方向工程师 | 2 个工作日 |
| 6 | 支付试做报酬(无论是否通过) | 财务 | 提交后 5 个工作日内 |
| 7 | 通知结果:通过→进入录用;不通过→致谢并说明是"本次不匹配"而非"你不行" | TL | 支付同步 |
| 8 | 试做代码归档(不通过者的代码也需归档,作为对比基线) | TL | — |
第 6 步不可省略,也不可延迟。 学生之间会交流,一家公司如果试做不付费,消息会在校内传开,后续招募成本会剧烈上升。
| 候选人 | 方向 | 可运行(30) | 完整(25) | 可读(20) | 文档(15) | 自测(10) | 总分 | 结论 | 是否已付试做费 |
|---|---|---|---|---|---|---|---|---|---|
| /100 | ☐通过 ☐待定 ☐不通过 | ☐ | |||||||
通过线:总分 ≥ 60,且"可运行性"≥ 18 分(跑不起来的一律不通过)。