微信小程序 | 基于ChatGPT实现模拟面试小程序

news2025/1/17 21:40:59

在这里插入图片描述

Pre:效果预览

① 选择职位进行面试

请添加图片描述


② 根据岗位职责进行回答

请添加图片描述


一、需求背景

这两年IT互联网行业进入寒冬期,降本增效互联网毕业暂停校招岗位的招聘,各类裁员、缩招的情况层出不穷!对于这个市场来说,在经历了互联网资本的疯狂时代,现在各大需要的时候更多能实实在在挣钱的项目。就拿java开发工程师岗位来说,对于有多年工作经验的老鸟程序员,想要晋升跳槽,还是可以依靠自我的资源和主观能动性去谋求更高的发展!

可是对于校招生来说,好不容易学了几年的技术,正好准备要施展一方拳脚的时候,发现今年跟自己的竞争者跟多了,工作岗位却更少了。。。 先来看看时下的牛友们的面试题目。

在这里插入图片描述

虽说这些都是八股!但想要非常流利的答出来还是需要多加练习和背诵呀! 所以,我们更应该未雨绸缪,在具备硬实力的前提下,进一步提升我们的面试应答能力! 那么这个时候,我们就用ChatGPT来做一个根据不同公司岗位需求的AI面试助手!帮你提前熟悉面试环节!更稳拿到offer


二、项目原理及架构

2.1 实现原理

(1)校招面试体验

请添加图片描述


(2)社招面试体验

请添加图片描述


2.2 技术架构

在这里插入图片描述


2.3 技术栈

模块语言及框架涉及的技术要点
小程序前端基于VUE 2.0语法+Uni-app跨平台开发框架Http接口通信、Flex布局方式、uView样式库的使用、JSON数据解析、定时器的使用
小程序接口服务端Python + Flask WEB框架rest接口的开发、 ChatGPT API接口的数据对接 、 前后端websocket实时通信

2.4 数据交互原理

选择心仪的公司及岗位
请求岗位数据
API数据发送
返回实时问答
BOSS直聘 岗位信息爬取
用户
模拟面试小程序
服务后端数据处理
ChatGPT

三、项目功能的实现

3.1 ChatGPT API的接入

要接入ChatGPT API,需要按照以下步骤进行操作:

  1. 注册一个账号并登录到OpenAI的官网:https://openai.com/
  2. 在Dashboard页面上,创建一个API密钥。在“API Keys”选项卡下,点击“Generate New Key”按钮。将生成的密钥保存好,以备后续使用。
  3. 选择所需的API服务,例如“Completion” API,以使用OpenAI的文本生成功能。

在这里插入图片描述
使用Python调用ChatGPT API实现代码如下:

  • 方法一:使用request
import requests
import json

# 构建API请求
url = "https://api.openai.com/v1/engines/davinci-codex/completions"
headers = {"Content-Type": "application/json",
           "Authorization": "Bearer YOUR_API_KEY"}
data = {
    "prompt": "Hello, my name is",
    "max_tokens": 5
}

# 发送API请求
response = requests.post(url, headers=headers, data=json.dumps(data))

# 解析API响应
response_data = json.loads(response.text)
generated_text = response_data["choices"][0]["text"]

print(generated_text)


  • 方式二:使用openAI库
from flask import Flask, request
import openai

app = Flask(__name_
_)

openai.api_key = "YOUR_API_KEY_HERE"

@app.route("/")
def home():
    return "Hello, World!"

@app.route("/chat", methods=["POST"])
def chat():
    data = request.json
    response = openai.Completion.create(
        engine="davinci",
        prompt=data["message"],
        max_tokens=60
    )
    return response.choices[0].text

if __name__ == "__main__":
    app.run()


3.2 小程序端设计与实现

岗位列表首页面试记录
在这里插入图片描述在这里插入图片描述
职位详情页面面试聊天界面
在这里插入图片描述在这里插入图片描述

3.4 岗位爬虫以及数据交互功能设计与实现

Flask后端服务功能架构如下:

模拟面试小程序后端服务
工作列表展示接口
工作详情信息获取功能
面试历史记录获取
实时面试数据交互
BOSS直聘岗位信息爬取模块
ChatGPT API通信模块

以下为项目核心的工作岗位需求获取功能的实现:



import requests
from lxml import etree
from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/jobs')
def get_jobs():
    url = 'https://www.zhipin.com/job_detail/?query=java工程师&city=101010100&industry=&position='

    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299'
    }

    response = requests.get(url, headers=headers)
    html = etree.HTML(response.content)

    jobs = html.xpath('//div[@class="job-list"]/ul/li')

    job_list = []
    for job in jobs:
        job_name = job.xpath('.//div[@class="job-title"]/text()')[0]
        company_name = job.xpath('.//div[@class="company-text"]/h3/text()')[0]
        salary = job.xpath('.//span[@class="red"]/text()')[0]
        job_dict = {
            'job_name': job_name,
            'company_name': company_name,
            'salary': salary
        }
        job_list.append(job_dict)

    return jsonify(job_list)

if __name__ == '__main__':
    app.run(debug=True)


  • 首先,我们导入 Flask 和其他必要的库。然后我们定义了一个路由 /jobs,当我们请求这个路由时,会触发 get_jobs() 函数。

get_jobs() 函数中,我们首先定义了要爬取的页面 URL 和一个伪装成浏览器的 headers。然后我们发送了一个 GET 请求并得到了响应,使用 lxml 中的 etree 解析响应内容。接下来,我们使用 XPath 找到每个职位的信息块,并使用 xpath() 方法找到每个信息块中我们需要的信息(职位名称、公司名称、薪水)。最后,我们将每个职位的信息封装成一个字典,并将所有职位信息的字典存储在一个列表中。我们将这个列表转化成 JSON 格式并返回。

  • 最后,我们在 main 函数中运行 Flask 应用,开启调试模式。

这个爬虫提供了一个 RESTful API 接口,可以使用 GET 请求获取所爬取的岗位列表数据。在浏览器中输入 http://localhost:5000/jobs 就可以看到所获取到的数据。


四、推荐阅读

🥇入门和进阶小程序开发,不可错误的精彩内容🥇 :

  • 《小程序开发必备功能的吐血整理【个人中心界面样式大全】》
  • 《微信小程序 | 借ChatGPT之手重构社交聊天小程序》
  • 《微信小程序 | 网易云+ChatGPT实现一个智能音乐推荐小程序》
  • 《微信小程序 | 基于ChatGPT实现电影推荐小程序》
  • 《吐血整理的几十款小程序登陆界面【附完整代码】》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/415334.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小白学Pytorch系列--Torch API (7)

小白学Pytorch系列–Torch API (7) Comparison Ops allclose 此函数检查输入和其他是否满足条件: >>> torch.allclose(torch.tensor([10000., 1e-07]), torch.tensor([10000.1, 1e-08])) False >>> torch.allclose(torch.tensor([10000., 1e-…

MATLAB | 如何自然好看的从图片中提取颜色并制作色卡

在这里研究了一下各种排序算法,写一篇如何由图片一键生成颜色条的方法。 1 关于大量颜色排序 假设有大量颜色怎么对其进行排序呢,首先想到的最简单方法就是将其按照RGB值的大小进行排序,为了方便展示颜色条,这里编写了一个颜色条…

【Pytorch】 理解张量Tensor

本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052 这是目录张量Tensor是什么?张量的创建为什么要用张量Tensor呢?总结张量Tensor是什么? 在深度学习中,我们经常会遇到一个概念&#xff…

初探Redis整体架构

文章目录1、Redis为什么选择单线程2、逐步加入多线程3、Redis采用IO多路复用---epoll和Reactor架构4、Redis6/7默认是否开启了多线程?1、Redis为什么选择单线程 这种问法其实并不严谨,为啥这么说呢? Redis几个里程碑式的重要版本 理清一个事实&#…

一文带你安装opencv和常用库(保姆级教程少走80%的弯路)

0.导语 离上一个opencv安装保姆级教程发布已经过去了快一年了,这一年来我收到了来自很多C友的鼓励。打算学opencv的各位朋友都会在安装opencv和各种库过程中浪费掉60%的时间和精力;博主在这一年来尝试各种各样的安装方法,全网搜集各种资料总…

[ 云计算 | Azure ] Chapter 05 | 核心体系结构之管理组、订阅、资源和资源组以及层次关系

本文主要对如下内容进行讲解:Azure云计算的核心体系结构组件中的:资源、订阅和资源组,以及了解 Azure 资源管理器 (ARM) 如何部署资源。 本系列已经更新文章列表: [ 云计算 | Azure ] Chapter 03 | 描述云计算运营中的 CapEx 与…

元宇宙与网络安全

元宇宙是一种虚拟现实空间,用户可以在计算机生成的环境中进行互动。元宇宙的应用范围很广,比如房地产,医疗,教育,军事,游戏等等。它提供了更具沉浸感的体验,更好地现实生活整合,以及…

图像分类算法:ResNet论文解读

图像分类算法:ResNet论文解读 前言 ​ 其实网上已经有很多很好的解读各种论文的文章了,但是我决定自己也写一写,当然,我的主要目的就是帮助自己梳理、深入理解论文,因为写文章,你必须把你所写的东西表达清楚…

游戏工厂:AI(AIGC/ChatGPT)与流程式游戏开发(码客 卢益贵)

关键词:AI(AIGC、ChatGPT、文心一言)、流程式管理、好莱坞电影流程、电影工厂、游戏工厂、游戏开发流程、游戏架构、模块化开发 一、前言 开发周期长、人工成本高、成功率低等使得游戏公司融资比较困难。有的公司凭一个爆款游戏一骑绝尘之后…

奇异值分解(SVD)和图像压缩

在本文中,我将尝试解释 SVD 背后的数学及其几何意义,还有它在数据科学中的最常见的用法,图像压缩。 奇异值分解是一种常见的线性代数技术,可以将任意形状的矩阵分解成三个部分的乘积:U、S、V。原矩阵A可以表示为&#…

阿里通义千问、百度文心一言、ChatGPT与GPT-4大比拼

各个大模型的研究测试传送门 ​阿里通义千问传送门: https://tongyi.aliyun.com/chat 百度文心一言传送门: https://yiyan.baidu.com/ ChatGPT传送门(免墙,可直接注册测试): https://wowchat.cn GPT…

离线安装k8s/kubernetes v1.17.1并部署服务验证功能

条件: 3台没有网络的centos7.9服务器 1.系统优化 hostnamectl set-hostname k8s-master && bash #只在master节点上执行 hostnamectl set-hostname k8s-node1 && bash #只在node1节点上执行 hostnamectl set-hostname k8s-node2 && …

嵌入式:BSP的理解

BSP概念总结BSP定义BSP的特点BSP的主要工作BSP在嵌入式系统和Windowsx系统中的不同BSP和PC机主板上的BIOS区别BSP与 HAL关系嵌入式计算机系统主要由 硬件层,中间层,系统软件层和应用软件层四层组成。硬件层:包含CPU,存储器(SDRAM&…

(数字图像处理MATLAB+Python)第四章图像正交变换-第一节:离散傅里叶变换

文章目录一:一维离散傅里叶变换(1)定义(2)实例二:一维快速傅里叶变换(1)定义(2)实例三:二维离散傅里叶变换(1)定义&#x…

SpringCloud微服务技术栈.黑马跟学(十二)

SpringCloud微服务技术栈.黑马跟学 十二今日目标服务异步通信-高级篇1.消息可靠性1.1.生产者消息确认1.1.1.修改配置1.1.2.定义Return回调1.1.3.定义ConfirmCallback1.2.消息持久化1.2.1.交换机持久化1.2.2.队列持久化1.2.3.消息持久化1.3.消费者消息确认1.3.1.演示none模式1.3…

Flutter TextField UI 实例 —— 新手礼包

大家好,我是17。 新手礼包一共 3 篇文章,每篇都是描述尽量详细,实例讲解,包会! Flutter Row 实例 —— 新手礼包Flutter TextField UI 实例 —— 新手礼包Flutter TextField 交互实例 —— 新手礼包 本篇介绍了 Tex…

机器学习:基于逻辑回归对超市销售活动预测分析

系列文章目录 作者:i阿极 作者简介:Python领域新星作者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒关注哦!&a…

linxu学习之进程

文章目录进程程序和进程产生进程销毁进程多进程高并发设计孤儿僵尸守护进程孤儿进程:守护进程(重点)僵尸进程:进程 程序和进程 操作系统可以运行多个程序,那他是如何运行的?实际上,CPU的执行是很快的,而待…

《随便测测》WEB接口测试平台

编写用例的船新版本,从未有过的顺滑体验背景在保证用例运行稳定、高效、准确的前提下以降低测试人员编写用例的时间为目的,减少编写用例的复杂度,达到提升效率的目的。解决问题因被测系统业务流程长,接口多(多的一个场…

【ssl认证、证书】SSL 证书基本概念、证书格式、openssl和keytool的区别

文章目录1. keytool VS openssl2. X.509 VS PKCS2.1 PKCS2.2 X.5092.2.1 证书编码格式2.2.1.1 DER 证书编码格式二进制2.2.1.2 文本格式 pem2.2.2 文件后缀名3. 常见Web服务软件及证书格式参考相关文章://-----------Java SSL begin----------------------【ssl认证…