项目:人工智能面试
基于人工智能的技术面试模拟器
- 问题背景
在科技行业,编程面试是至关重要的一环。然而,在真实的环境中练习却很难。当前的平台只能验证代码的正确性,却忽视了同样关键的一项能力:即对自己解决方案的沟通和推理能力。一个优秀的工程师不仅能写出能运行的代码,还能解释为何做出某些决策,分析其效率,并讨论其他备选方案。
该项目的目标是创建“Interview IA”,一个能够全面评估开发者解决问题的技术能力和沟通能力的模拟器。
- 技术栈
解决方案必须仅使用以下技术栈来构建:
后端:Django
数据库:MongoDB
人工智能:
Google Gemini(通过Vertex AI)
Google 云端语音转文字服务
AI上下文管理:模型上下文协议(MCP)
- 主要库(或:主要图书馆)
为了与堆栈进行交互,你需要以下Python库。Django的其他依赖项的管理由你自行负责。
python
requirements.txt(需求文件)
Django pymongo(Python的MongoDB数据库连接库) Google Cloud AI 平台 Google云语音识别服务 4\. 系统流程 你的任务是设计并实现一种架构,以支持以下用户流程:
启动与选择:
用户打开应用程序,看到一个编程问题列表。
选择一个问题和一个访谈模式:文本模式或语音模式。
会议创建:
后端在MongoDB中为会话创建一个新文档,存储面试的初始状态。
交互(文本模式):
用户在代码编辑器中编写他们的解决方案。
在发送时,后端会构建一个包含问题描述和用户代码的上下文(MCP)。
在给定上下文中调用Gemini来分析代码的正确性、效率和质量。评估结果将展示给用户。
交互(语音模式):
用户首先编写并完成其代码。
然后,打开麦克风,用口头方式解释你的推理过程。
音频通过语音识别API进行处理,以获取文字记录。
后端构建了一个内容丰富的上下文(MCP):问题+代码+转录。
使用这个多模态上下文来调用Gemini,请求它评估推理的清晰度并提出后续问题。
反馈:
最后,一次对Gemini的最终呼叫回顾了整个会议的背景情况。
人工智能生成一份综合的最终报告(优势和改进领域)。
此报告存储在MongoDB中,并展示给用户。
系统流程(活动图)
更多信息:
https://docs.google.com/document/d/1nyIVEeCo2HoJd9jIZh6vyXJzRObPbMsqKJFZZqEYH1U/edit?usp=sharing(该链接可译为:“谷歌文档链接:用于编辑名为‘1nyIVEeCo2HoJd9jIZh6vyXJzRObPbMsqKJFZZqEYH1U’的文档,通过分享方式访问”)
