【学习工作赛道】AI 面试陪练官

【正文】 至少包含以下 4 个部分,可以增加额外的部分(比如自我介绍、经验总结、踩坑复盘等)

你是谁 :一名汉语言文学专业的应届毕业生,对编程一窍不通的文科生。

你是怎么用 TRAE 把 Demo 做出来的 :

说实话,报名这个比赛的时候我心里特别没底。我学了四年的文学、写作和古代汉语,我毫无编程知识

但我心里一直有个想法:能不能做一个帮助求职者练习面试的工具?因为我身边太多同学,包括我自己,都在求职路上碰了无数钉子。

抱着试试看的心态,我打开了TRAE。我把心里的想法用最朴素的语言描述给它听:“我想做一个AI面试陪练工具,用户输入岗位描述,AI提问,用户回答,然后AI给反馈。”

没想到的是,TRAE真的帮我把这个想法变成了现实!

最让我震撼的瞬间 :

第一天,我只是把创意介绍复制粘贴给TRAE,它就帮我搭好了整个项目框架——前端React项目、后端API服务、数据库配置,甚至连项目的目录结构都帮我安排得整整齐齐。那一刻我盯着屏幕看了好久,心想: 原来不懂代码也能做项目?!

开发过程中,我就像在跟一个耐心的搭档聊天:

  • “我想要这个按钮是绿色的” → TRAE改好了
  • “我想让用户能用语音回答问题” → TRAE帮我实现了语音识别和合成
  • “我想加一个数据可视化的成长看板” → TRAE连图表库都帮我选好了
    最让我感动的是,当我遇到bug不知道怎么解决时,TRAE会一步步引导我排查问题,用我能听懂的方式解释技术原理,而不是甩给我一堆专业术语。

TRA帮我跨过的最大的坎 :

对我来说,最大的坎就是"我不懂技术"这个心理障碍。以前我总觉得,没有技术背景就不配做产品。但TRAE让我明白: 创意和解决问题的热情,才是最重要的。技术只是实现想法的工具,而TRA就是那个帮你掌握工具的人。

现在,我不仅做出了一个能运行的面试模拟工具,还学会了很多以前想都不敢想的技术概念。更重要的是,我找到了自信——原来文科生也能做出很酷的东西!

1. Demo 简介

2. Demo 创作思路

  • 灵感来源:我自己的真实经历
    毕业求职,我面试时几乎全部失败,我意识到我欠缺面试经验。我身边同样是应届毕业生的同学们,也有这样的问题。

    我去找面试资源的时候:

    • 题库APP:只有题目,没有反馈,练了也不知道自己哪里错
    • 找同学模拟:大家都在忙自己的事,很难凑时间,而且同学也不是专业面试官
    • 付费网课:价格昂贵,我一个学生根本负担不起
      那段时间真的很焦虑。我就在想:如果有一个免费的、能根据我的岗位需求个性化提问、还能给我详细反馈的面试模拟工具就好了。然后我就报名了TRAE创造力大赛,决定自己做一个。
  • 想解决的问题:对我来说,这些问题都是真实存在的:

    1. 不知道自己哪里错 :回答完面试题,完全不知道面试官怎么看,是逻辑有问题?表达不清?还是答非所问?
    2. 缺乏真实压力感 :对着镜子练和面对真人面试官完全是两回事,一紧张就大脑空白。
    3. 针对性不足 :投不同岗位需要准备不同内容,但题库都是通用的。
    4. 练完就忘 :缺乏复盘体系,练了很多次但不知道自己进步了多少。
  • 为什么做这个方向:

    作为一名应届毕业生,我太清楚求职的难了。每年有上千万应届生涌入职场,但高质量的面试辅导资源却非常稀缺。我希望这个工具能帮助像我一样的普通求职者,降低面试准备的门槛,让每个人都有机会获得专业的面试练习。

3. Demo 体验地址

grand-horse-07b90b.netlify.app

4. TRAE 实践过程

我把整个项目拆解成了5个阶段:

第一阶段 项目初始化,创建核心面试模拟功能

关键操作 :

  • 使用TRA的"创建React+TypeScript项目"能力一键初始化
  • 配置TailwindCSS、Zustand状态管理、Lucide图标库
  • 设置Vite代理,将/api请求转发至Express后端

.3915825681014010:ae98d03c5b3f8c5ded373e107b4cd3fc_6a4debd88f2d0c497723fbcc.6a4dee53b6e358ea28b6e259.6a4dee51e7a5cd0fce1256e6:Trae CN.T(2026/7/8 14:29:39)

第二阶段 创新性优化(JD关键词提取、动态追问、面试官风格)

.3915825681014010:2e3fd9238172cc58db1adffa50c0ea39_6a4debd88f2d0c497723fbcc.6a4df52eb6e358ea28b6e32f.6a4df52de7a5cd0fce1256e7:Trae CN.T(2026/7/8 14:58:54)

创新性功能开发 - JD关键词提取与动态追问:

关键Prompt :“帮我实现JD关键词智能提取功能,从用户输入的岗位描述中提取关键技能,并生成四种类型的问题:行为型、技术型、情境型、文化适配型”

技术实现 :

  • 后端使用正则匹配和关键词库提取技能标签
  • 根据技能标签动态生成对应类型的面试问题
  • 实现动态追问机制:当回答评分低于4分时自动触发追问

第三阶段 语音/视频功能扩展

.3915825681014010:a6c10c0d9219dfdfb0a7186a89f60212_6a4debd88f2d0c497723fbcc.6a4e0798b6e358ea28b6e4c4.6a4e0797e7a5cd0fce1256ed:Trae CN.T(2026/7/8 16:17:28)

关键技术 :

  • Web Speech API实现语音识别(SpeechRecognition)和语音合成(SpeechSynthesisUtterance)
  • getUserMedia API获取摄像头流进行视频预览
  • AudioContext + AnalyserNode实现实时音频可视化

第四阶段 专项训练模块(4个子模块)

.3915825681014010:fc1aba3ff132c0107374f16c79f90074_6a4debd88f2d0c497723fbcc.6a4e1776b6e358ea28b6e636.6a4e1775e7a5cd0fce1256f1:Trae CN.T(2026/7/8 17:25:10)

第五阶段 复盘成长体系 + UI全面改造

成长复盘体系技术实现 :

.3915825681014010:f68bb969cf2391f6949ef1e3b2c734b7_6a4debd88f2d0c497723fbcc.6a4e2e9cb6e358ea28b6e720.6a4e2e9be7a5cd0fce1256f4:Trae CN.T(2026/7/8 19:03:56)

  • Zustand + localStorage实现数据持久化
  • Recharts库实现能力雷达图和趋势折线图
  • 每日打卡系统、等级经验系统、错题收藏功能

ui设计规范 :

.3915825681014010:f1e8497bbb289157bb8949f164f28ce9_6a4debd88f2d0c497723fbcc.6a4e3753b6e358ea28b6e7a8.6a4e3752e7a5cd0fce1256f7:Trae CN.T(2026/7/8 19:41:07)

  • 主色调:sage绿色(温暖、自然)
  • 点缀色:amber琥珀色(活力、热情)
  • 标题字体:Fraunces(优雅衬线体)
  • 正文字体:Plus Jakarta Sans(现代无衬线体)
  • 整体风格:简洁、温暖、清爽、轻松

当然,开发过程中也遇到了不少困难

踩过的坑:
坑1:端口冲突问题

后端服务默认使用3001端口,但有时会被其他进程占用。我通过查找并杀死占用进程,然后重新启动服务。

坑2:TypeScript类型错误

问题原因: keyword 的类型是 string | ParsedQs | (string | ParsedQs) ,需要先进行类型判断。

坑3:Web Speech API兼容性

Safari浏览器不支持 SpeechRecognition 接口,需要添加兼容性检测和降级方案:

坑4:TailwindCSS自定义类名不存在

scale-98 不是Tailwind的标准类名,需要使用 scale-95 或自定义配置。

坑5:状态管理复杂

面试流程涉及多个状态(当前问题、回答历史、反馈信息、面试进度、模式切换等),最初使用React Context导致代码臃肿。后来改用Zustand,代码量减少了40%,开发效率大幅提升。

后续希望加入联机功能,比如群体面试可以匹配闯关。增加面试官功能,用户可以体验面试官,和好友互相面试,互相提供建议。

5. 对应的报名审核通过的帖子链接:【学习工作赛道】 +AI 面试陪练官 - TRAE AI 创造力大赛 / 【大赛报名专区】 - TRAE 官方中文社区

1 个赞