不是哥们,真有人拿 AI 来面试啊?

news2024/11/29 20:56:17

大家好,我是八哥。如今 AI 已经渗透到了我们的生活、求职、工作等方方面面。就拿求职来说,今年的美团校招,已经用上了 AI 来当面试官,降本增效。

我自己也当过面试官,其实对 AI 面试官还是挺好奇的。毕竟每个候选人的情况不同,想要全方面考察一个人的水平,一定要针对其简历和具体情况定制化提问。AI 能做好这点么?能当一个合格的面试官么?

此外,对于大家来说,可能更关心的是:如何战胜 AI 面试官?

嘿嘿,当然要用魔法打败魔法!我们也可以用 AI 来准备面试呀~

图片

具体怎么做呢?这篇文章鱼皮就带大家搞一个 AI 备战面试小助手出来!看到结尾还有福利哦~

选择 AI 模型

首先我们要选择一个优质的 AI 大模型,AI 面试官智商的高低就取决于它了。

我作为一名程序员 + 创业者,也带团队开发过很多 AI 应用,在选择 AI 大模型的时候,最关注的是 3 点:理解能力、生成速度和成本。也就是 3 个字:准、快、省。

单论理解能力,OpenAI 的 o1-preview、o1-mini 处于领先地位,但不足之处在于使用门槛较高、成本较高。大家可能不知道,其实我们国产 AI 大模型已经有了显著进步,比如今年 9 月最新发布的智谱 GLM-4-Plus,作为其最强旗舰模型,在逻辑推理、编程算法、长文本输出方面都有质的突破。

在最新的大模型评测中,GLM-4-Plus 排名第 3,打破了国外模型对前 3 名的垄断!虽然跟 OpenAI 大模型对比还有一定差距,但已经强于其他国产模型,进入世界第一梯队。

图片

让我们来试试看,打开智谱 AI 开放平台(bigmodel.cn),进入体验中心,就可以选择模型进行测试了。我现在测试新模型效果时,都会先搜一下自己。结果 GLM-4-Plus AI 的输出让我特么直接震惊了!我 8 月底刚干的事情就被它 “和盘托出” 了,这么与时俱进么?

图片

其背后应该是运用了网页检索工具,从网上先搜集了一波我的信息再进行整理,准确度已经很不错了,我觉得已经可以当我的日记本了。说不定 AI 再进化进化,就能当我脑袋上的摄像头了。

除了准确度之外,GLM-4-Plus 模型的生成速度也很不错,像我用 OpenAI GPT 的时候偶尔还会卡顿和生成失败,国内的明显要稳定许多。

当然,对于我们大多数开发者来说,最最最最最关注的,肯定还是成本。效果再好,用不起也白搭!

GLM-4-Plus 模型不仅更准更快,而且相比以前的版本,价格直接优惠了 50%!而且国庆月期间,智谱 bigmodel.cn 为新老用户准备了「百万用户每人赠送 1 亿 tokens」+「1 - 5 折 API 调用优惠」限时活动。

图片

好了,我心动了,我直接跟我们团队的同学说:薅它!

图片

体验 AI 面试

选择完 AI 模型后,我们先不写代码,用智谱 AI 提供的体验中心来模拟下 AI 面试官。

在右侧可以自主设置 AI Prompt,改变 AI 的行为,比如:你是一位面试官,现在要为公司招募 Java 程序员,我会给你候选人的情况介绍,请帮我生成 10 道面试题进行考察。

然后就可以跟 AI 对话了,还可以上传简历文件:

图片

AI 回答时,会解析我的简历文件作为上下文。你别说,的确是围绕我的简历问的,技术、项目、实习经历、综合能力等等,考察的还真全面!

图片

tnnd,AI 面试官你有点儿东西啊!但是公司能用 AI 来考察候选人,那我们一样可以用 AI 来面试呀!

试试看,来一道经典程序员面试题:MySQL 有哪些存储引擎?分别有什么优缺点?

先设置个系统 Prompt:你是一位求职者,现在要面试某公司的 Java 程序员岗位,我会给你一些面试题,请帮我生成专业的回答。

AI 给出的回答非常专业,如图:

图片

但一般面试的时候,我们不会按照这种方式进行回答,有些 “过于专业” 了。所以可以换一种系统 Prompt。比如:你是一位求职者,现在要面试某公司的 Java 程序员岗位,我会给你一些面试题,请使用第一人称进行回答,一段话就足够,不用过于详细。

嘿,回答的也很不错,关键是这次 AI 的回答就更像人类了:

图片

但是在面试时使用 AI 的风险还是很大的,鱼皮也不建议大家真的这么做,即使靠作弊通过了面试,进了公司估计就原形毕露了。

但是我有一个大胆的想法,能不能把 AI 面试官 + AI 求职者结合,先让 AI 面试官帮我分析简历并出题,再让 AI 求职者帮我给出标准答案呢?这样我不就知道面试官可能会考我什么、而且知道怎么回答了么?相当于参与了一场有指导的模拟面试,感觉也是个准备面试的好方法。

为了实现这个 “备战面试小助手”,我们只使用智谱 AI 开放平台的体验中心是无法满足要求的。开放平台还提供了 API 调用能力,我们可以自主编写程序来实现。

开发备战面试小助手

1、接入 AI

要在项目中使用 AI 能力其实很简单,可以直接使用官方提供的 SDK(支持 Java 和 Python),其他编程语言可以通过 Http 请求发起调用。

对于 Maven 管理的 Java 项目,需要引入下列依赖:

<dependency>
  <groupId>cn.bigmodel.openapi</groupId>
  <artifactId>oapi-java-sdk</artifactId>
  <version>release-V4-2.3.0</version>
</dependency>

我们可以先写一个简单的 Demo,测试 AI 调用。

进入智谱 AI 开放平台的 API 密钥管理页面,新建并复制一个 API Key,注意不要泄露:

图片

有了密钥后,在代码中初始化客户端,用于调用 AI 能力:

public static final String API_SECRET_KEY = "{你的 ApiSecretKey}";
public static ClientV4 client = new ClientV4.Builder(API_SECRET_KEY)
.build();

编写一个方法,向 AI 发送 “你好”,并输出 AI 的返回结果:

private static void testInvoke() {
    // 发送给 AI 的消息
    List<ChatMessage> messages = new ArrayList<>();
    ChatMessage chatMessage = new ChatMessage(ChatMessageRole.USER.value(), "你好");
    messages.add(chatMessage);
    // 构造请求
    ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest.builder()
            .model("glm-4-plus") // 使用最新的大模型
            .stream(Boolean.FALSE)
            .invokeMethod(Constants.invokeMethod)
            .messages(messages)
            .build();
    // 发送请求,获取响应
    ModelApiResponse invokeModelApiResp = client.invokeModelApi(chatCompletionRequest);
    System.out.println("model output:" + invokeModelApiResp);
}

组合上述代码并执行,能成功看到 AI 的回复:

图片

为了更方便地在项目中使用 AI,我们可以编写一个更通用的方法,实现调用 AI 并获取结果。代码如下:

public static String invoke(String systemMessage, String userMessage) {
    // 发送给 AI 的消息
    List<ChatMessage> messages = new ArrayList<>();
    ChatMessage systemChatMessage = new ChatMessage(ChatMessageRole.SYSTEM.value(), systemMessage);
    messages.add(systemChatMessage);
    ChatMessage userChatMessage = new ChatMessage(ChatMessageRole.USER.value(), userMessage);
    messages.add(userChatMessage);
    // 构造请求
    ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest.builder()
        .model("glm-4-plus") // 使用最新的大模型
        .stream(Boolean.FALSE)
        .invokeMethod(Constants.invokeMethod)
        .messages(messages)
        .build();
    // 发送请求,获取响应
    try {
        ModelApiResponse invokeModelApiResp = client.invokeModelApi(chatCompletionRequest);
        // 从响应对象中获取 AI 输出的文本
        return invokeModelApiResp.getData().getChoices().get(0).getMessage().getContent().toString();
    } catch (Exception e) {
        e.printStackTrace();
        return "";
    }
}

2、实现流程

让我们先来梳理一下实现流程:

  1. 提供求职者的简历内容,输入给 AI 面试官,让其分析并生成面试问题
  2. 将生成的问题逐一输入给 AI 求职者,让其给出标准答案
  3. 对 AI 生成的结果进行组合整理

下面依次编码实现上述流程。

3、助手开发

1)开发 AI 面试官

先编写 AI 面试官的系统 Prompt,可以先利用智谱 AI 体验中心进行调试。示例 Prompt 如下:

你是一位经验丰富的 AI 面试官,下面我会给你一份求职者的简历,请分析简历并提出相关的面试问题。
要求输出格式如下,每个问题一行,此外不要有任何多余的内容:
{序号}. {面试问题}

编写代码,将系统 Prompt 和用户简历(用户 Prompt)作为参数调用 AI,并输出结果:

String userResume = "Java程序员,工作经验3年,熟悉MySQL、Redis,有过电商项目经历";
// AI 面试官
String AI_INTERVIEWER_SYSTEM_PROMPT = "你是一位经验丰富的 AI 面试官,下面我会给你一份求职者的简历,请分析简历并提出相关的面试问题。\n" +
        "要求输出格式如下,每个问题一行,此外不要有任何多余的内容:\n" +
        "{序号}. {面试问题} ";
String aiInterviewerReply = invoke(AI_INTERVIEWER_SYSTEM_PROMPT, userResume);
System.out.println(aiInterviewerReply);

当然,你完全可以把用户简历替换为更复杂的内容,比如解析一个 PDF 文档。

执行上述程序,可以看到 AI 生成了符合我们格式要求的数据:

图片

可以按照换行符对字符串进行拆分,得到问题数组:

if (StrUtil.isBlank(aiInterviewerReply)) {
    return;
}
// 切分字符串为问题数组
String[] questions = aiInterviewerReply.split("\n");

通过打断点进行调试,效果如图:

图片

经过测试,使用智谱的 GLM-4-PLus 模型,能够很稳定地生成面试问题。当然,AI 输出结果的稳定性也和具体的 Prompt 有关,所以建议做好异常处理来应对特殊情况。

2)开发 AI 求职者

先编写 AI 求职者的系统 Prompt,要求让它用第一人称简略回答,会更真实一些。示例如下:

你是一位求职者,你要结合自己的个人简历,清晰准确地回答面试官提出的问题。
要求使用第一人称进行回答,一段话就足够,不用过于详细。

需要遍历面试问题列表,每个问题都要调用一次 AI 求职者,需要将用户简历和问题作为用户 Prompt 来调用 AI。代码如下:

// AI 求职者
String AI_APPLICANT_SYSTEM_PROMPT = "你是一位求职者,你要结合自己的个人简历,清晰准确地回答面试官提出的问题。\n" +
        "要求使用第一人称进行回答,一段话就足够,不用过于详细。";
for (String question : questions) {
    String userPrompt = String.format("---个人简历---\n%s\n---面试问题---\n%s", userResume, question);
    String aiApplicantReply = invoke(AI_APPLICANT_SYSTEM_PROMPT, userPrompt);
    System.out.println(aiApplicantReply);
}

通过打断点进行调试,给出的答案还是挺不错的:

图片

3)组合整理 AI 生成的结果

可以利用 LinkedHashMap 结构,按顺序保存每一个问题和答案。代码如下:

// 按需保存问题和答案
Map<String, String> questionAnswerMap = new LinkedHashMap<>();
for (String question : questions) {
    String userPrompt = String.format("---个人简历---\n%s\n---面试问题---\n%s", userResume, question);
    String aiApplicantReply = invoke(AI_APPLICANT_SYSTEM_PROMPT, userPrompt);
    questionAnswerMap.put(question, aiApplicantReply);
}
System.out.println(questionAnswerMap);

通过打断点进行调试,现在我们就拿到了自己的简历对应的面试题和答案啦!

图片

以上更多的是演示业务流程,大家可以根据自己的需求编写更详细的 Prompt,输出的结果质量也会更高。

智谱 AI 开放平台的官方文档也分享了 Prompt 编写技巧,开发 AI 应用之前建议完整阅读一遍:

图片

总结

以上就是本期分享。喜迎国庆,智谱也发了个大福利:新用户注册后即可获赠 1 亿额度 Tokens 资源包!拿来开发 AI 应用妥妥的~

如何学习AI大模型 ?

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

😝有需要的小伙伴,可以VX扫描下方二维码免费领取🆓
在这里插入图片描述

👉1.大模型入门学习思维导图👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。

在这里插入图片描述
在这里插入图片描述

👉3.大模型实际应用报告合集👈

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

在这里插入图片描述

👉4.大模型落地应用案例PPT👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程文末领取哈)

在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
img

在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)

在这里插入图片描述
👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习

这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

在这里插入图片描述

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

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

相关文章

UOM无人机空域快速申请技术详解

UOM无人机空域快速申请技术详解主要包括以下几个步骤&#xff1a; 一、准备阶段 1. 实名登记&#xff1a;首先&#xff0c;您需要在相应的民航部门进行无人机的实名登记&#xff0c;这是合法飞行的前提。 2. 了解规定&#xff1a;熟悉并遵守当地关于无人机飞行的法律法规&am…

C语言:预编译过程的剖析

目录 一.预定义符号和#define定义常量 二.#define定义宏 三.宏和函数的对比 四、#和##运算符 五、条件编译 在之前&#xff0c;我们已经介绍了.c文件在运行的过程图解&#xff0c;大的方面要经过两个方面。 一、翻译环境 1.预处理&#xff08;预编译&#xff09; 2.编译 3…

SpringBoot在线教育系统:从零到一的构建过程

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理微服务在线教育系统的相关信息成为必然。开…

如何禁止电脑蓝牙?分享五个有效方法,快@企业老板来看! 内行人都在用的方法哦,不妨一试!

在现代办公环境中&#xff0c;电脑蓝牙功能的便捷性无可否认&#xff0c;但随之而来的安全风险也不容忽视。 尤其对于企业而言&#xff0c;蓝牙的开放可能引发数据泄露、未经授权的设备连接等一系列安全问题。 因此&#xff0c;如何有效地禁止电脑蓝牙&#xff0c;成为了许多…

终于有人把多模态大模型讲这么详细了

多模态大型语言模型&#xff08;Multimodal Large Language Models&#xff0c; MLLM&#xff09;的出现是建立在大型语言模型&#xff08;Large Language Models&#xff0c; LLM&#xff09;和大型视觉模型&#xff08;Large Vision Models&#xff0c; LVM&#xff09;领域不…

付费计量系统通用功能(14)

11.18 Function_Object功能目标 11.18.1 Function_Object definition功能目标定义 A Function_Object is an abstract notation of defining the attributes of a function. 功能目标是一个抽象的功能属性的定义 Definition of a function object should stat…

Linux plt表调用汇编代码分析

linux调用共享库中的函数时通过plt表和got表实现位置无关代码&#xff0c;过程中涉及到lazy binding&#xff0c;即在第一调用外部函数时解析被调用的函数地址并将地址写入到got表&#xff0c;后续调用则不需要解析函数地址&#xff0c;具体过程如下 1.c程序如下 #include &l…

基于Node2Vec的图嵌入实现过程

目录 一、引言二、Node2Vec&#xff08;原理&#xff09;2.1 随机游走&#xff08;Random Walk&#xff09;2.2 嵌入学习2.3 Node2Vec 的优势 三、使用 Node2Vec 进行图嵌入&#xff08;实践&#xff09;3.1 读取和转换 JSON 文件为 Graph 对象3.2 训练 Node2Vec 模型3.3 二维嵌…

Python+Django微信小程序前后端人脸识别登录注册

程序示例精选 PythonDjango微信小程序前后端人脸识别登录注册 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《PythonDjango微信小程序前后端人脸识别登录注册》编写代码&#xff0c;代码整…

2024年10月6日历史上的今天大事件早读

23年10月06日西汉“新莽政权”领袖王莽被刺身亡 1866年10月06日清政府批准筹设天津机器局 1905年10月06日俄国爆发铁路工人大罢工 1913年10月06日中、英西姆拉会商“西藏问题” 1927年10月06日阿尔-乔尔森主演第一部有声电影 1940年10月06日新四军获黄桥决战胜利 1949年1…

字节跳动员工玩转 AI 的 100 种办法

今年&#xff0c;字节跳动在国内上线了 AI 应用开发平台——扣子。用户可以根据自己的想法在扣子上创建 chat bot&#xff08;聊天机器人&#xff09;&#xff0c;甚至能利用扣子 API 上线一个产品。 扣子上有丰富的插件工具&#xff0c;如果用户希望 bot 具备某个功能&#x…

sql-labs靶场第九关测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、寻找注入点 2、注入数据库 ①寻找注入方法 ②爆库&#xff0c;查看数据库名称 ③爆表&#xff0c;查看security库的所有表 ④爆列&#xff0c;查看users表的所有列 ⑤成功获取用户名…

2024年,现在做全职的AI产品经理,时机对不对?

就在最近&#xff0c;Chatgpt又更新了&#xff0c;推出了新版本名字叫做canvas。 这个版本可以支持对AI的对话内容进行编辑了&#xff0c;也就是以前prompt一次性生成的结果总是很难控制输出结果&#xff0c;新版新增了可以在结果内容与用户进行交互的产品入口&#xff0c;最终…

(20)MATLAB使用卡方(chi-square)分布生成Nakagami-m分布

文章目录 前言一、使用卡方分布函数生成Nakagami分布随机变量二、MATLAB仿真1.仿真代码2.运行结果 前言 Nakagami分布随机变量的生成&#xff0c;可以使用gamma分布实现&#xff0c;也可以使用卡方&#xff08;chi-square&#xff09;分布随机变量生成。使用伽马&#xff08;g…

AI 写作工具汇总

&#x1f423;个人主页 可惜已不在 &#x1f424;这篇在这个专栏AI_可惜已不在的博客-CSDN博客 &#x1f425;有用的话就留下一个三连吧&#x1f63c; 目录 前言: 正文: ​ 前言: 在信息时代的浪潮中&#xff0c;AI 写作应运而生。它以强大的算法和海量的数据为支撑&…

文本处理 — JavaScript 中的字符串——WEB开发系列44

掌握它所出现的文本是很有用的&#xff0c;字符串是最基本的数据类型之一&#xff0c;承载着我们与计算机之间的交流。它们可以用来表示文本、传递信息、构建用户界面等。JavaScript作为一种广泛使用的编程语言&#xff0c;为字符串提供了强大而灵活的处理功能。 一、创建字符串…

图解 Stable Diffusion 如何实现文生图

前言 1引言 Stable Diffusion 是 2022 年发布的深度学习文生图模型。它主要用于根据文本的描述产生详细图像&#xff0c;尽管它也可以应用于其他任务&#xff0c;如内补和外补绘制&#xff0c;以及在提示词指导下产生图生图的翻译。 算法原理 Stable Diffusion 是一种扩散模…

Python+Django预约管理系统

程序示例精选 PythonDjango预约管理系统 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《PythonDjango预约管理系统》编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读。 学习…

【深度学习基础模型】液态状态机(Liquid State Machines, LSM)详细理解并附实现代码。

【深度学习基础模型】液态状态机&#xff08;Liquid State Machines, LSM&#xff09;详细理解并附实现代码。 【深度学习基础模型】液态状态机&#xff08;Liquid State Machines, LSM&#xff09;详细理解并附实现代码。 文章目录 【深度学习基础模型】液态状态机&#xff0…

No.4 笔记 | 探索网络安全:揭开Web世界的隐秘防线

在这个数字时代&#xff0c;网络安全无处不在。了解Web安全的基本知识&#xff0c;不仅能保护我们自己&#xff0c;也能帮助我们在技术上更进一步。让我们一起深入探索Web安全的世界&#xff0c;掌握那些必备的安全知识&#xff01; 1. 客户端与WEB应用安全 前端漏洞&#xff1…