当前位置: 首页 > news >正文

马上要面试了,还有八股文没理解?让ChatGPT来给你讲讲吧——如何更好使用ChatGPT?

最近这段时间 ChatGPT 掀起了一阵 AI 热潮,目前来看网上大部分内容都是在调戏 AI,很少有人写如何用 ChatGPT 做正事儿。

作为一个大部分知识都是从搜索引擎和 GitHub 学来的程序员,第一次和 ChatGPT 促膝长谈后,基本认定了一个事实:ChatGPT 一定能大幅增加程序员学习新技术的效率。

目前我已经深度使用 ChatGPT 一个月了,越来越能感受到这个工具的颠覆性。所以这篇文章不探讨 ChatGPT 的沙雕玩法,单从工作和学习的视角,分享下 ChatGPT 的牛逼之处以及我使用 ChatGPT 的一些经验技巧。

利用 ChatGPT 的说“人话”能力

学习技术,大家应该都使用过搜索引擎吧。使用搜索引擎获取知识时,通常是输入搜索关键字,然后在返回结果里挑选合适的答案进行总结。复杂的问题,需要自己再组织二次搜索的关键字,然后再挑合适的答案,再总结,如此反复。其中关键字关系搜索结果,非常重要,需要用心选择。在搜索返回结果里找到合适的答案也挺耗精力。总之,通过搜索引擎找答案学习效率挺低且耗精力。

归根结底是因为:搜索引擎是某次切面的物理匹配结果,缺乏上下文关联能力和答案总结能力。

除了借助搜索引擎寻找问题的答案,还有一个高效的办法就是抱大腿,找一个这方面比较有经验的大佬,把我自己想不通的地方清楚地表述出来问问对方,这样经过多次对话后,你想了解的复杂问题也就迎刃而解了。不过万一找不到这样的大佬,怎么办?ChatGPT就可以扮演这个巨佬的角色,提供问答服务。

这也是ChatGPT让人惊艳的地方:它可以对话式地说“人话”。

  • 对话式。可以上下文关联,返回内容是上下文“思考”后的结果,答案也就更精准了。
  • 说“人话”。可以模型总结返回结构化结果,内容更加“人话”。

在这里插入图片描述
在对话过程中,提问题就很有技巧了,和你在与人对话一样,你问的如果是「xxx 是什么」之类的开放问题,那么回答者的答案就可以五花八门了,如果是「xxx 是不是」、「xxx 对不对」之类的问题,那么回答者的答案就更加确定。下面分享一些我使用 ChatGPT 的一些技巧。

ChatGPT的使用技巧

如果想让搜索引擎返回准确的结果,需要一定的技巧来构建关键词。如果想最大化发挥 ChatGPT 的能力作为搜索引擎的补充,也需要一些小技巧。

① 尽量使用英文和 ChatGPT 交流。

如果是学习专业技术知识,尽量使用英文。某些新技术嘛,国外还是比较前沿,那么不可否认一手的技术文档还是英文居多,所以 ChatGPT 学习的相关数据肯定也相对较多,更有利于得到准确详尽的答案。

另外,中文的文本生成相比英文的文本生成要复杂,所以中文交流的响应速度会明显慢于英文交流。

② 多用反问的方式和 ChatGPT 交流。

比如说多用「我认为 xxx,你看我理解的对吗」这类句式提问,少问诸如「xxx 是什么」这样的问题。

不是说 ChatGPT 不能回答「xxx 是什么」这类问题,而是说传统的搜索引擎更适合干这个,还能给你更丰富的信息,那何必问 ChatGPT 呢?

比如我初学 k8s 时,我会把自己的理解整理成一系列观点讲给 ChatGPT 听,让它指出我理解错误的地方:

在这里插入图片描述
这种学习体验真的是传统搜索引擎给不了的,像极了一个学渣缠着学霸求带带的场景,哈哈😂

③ 一条消息只包含一个问题,且尽可能多地提供问题的上下文。

说到底,这就考验把问题描述清楚的能力了,其实可以有很多方法。

比如前文举的我初学 k8s 时的问题,我可以这样问 ChatGPT,先来一个引导式的提问:在 k8s 里面,所有资源都是 API Object,对吗?

得到 ChatGPT 肯定的回复,然后我开始挖坑:那么 k8s 其实就是一个存储 API Object 的数据库,对吗?

ChatGPT 就会告诉我,我这样想是不对滴,API Object 并不是简单的静态数据,巴拉巴拉。然后我再根据它的回复不断追问并提出自己的看法求指教,最终把整个知识框架梳理清楚。

④ 放开思路去提问,比如让 ChatGPT 通过类比、举例的方式讲解问题。

ChatGPT 的能力比我们之前用过的人工智障强太多了,我们可以尝试向它提出一些难度更大的问题。

比如,很多时候代码的解释性比文字更强,那么我可以直接要求 ChatGPT 写一段 demo code 出来,反正看不懂的话还可以追问:

在这里插入图片描述
在这段对话中,经过我的一步步提问,ChatGPT 确实写出了一个完整的 operator 的 demo。虽然它写的代码偶尔出问题,但一般都是类似包导入这种比较明显的错误,整体上我认为还是非常强大的。

再比如,ChatGPT 给我讲解了 CRD, CR, Controller 这些 k8s 中的概念之后,我请它类比编程语言里的类和实例再给我讲讲:

在这里插入图片描述
它类比 CRD 是类定义,CR 是类的实例对象,说实话感觉它这个类比还挺贴切的呢 👍

其他的还有很多,比如发给它一段代码让它逐行解释,让它扮演一个 Linux shell,扮演一个 yaml/json 转换器等等,这些事情 ChatGPT 都能做,确实可以在某些场景大幅提高我们的效率。

目前我认为最有价值的几个技巧就说完了,下面说下 ChatGPT 目前的一些不足之处吧。

目前 ChatGPT 的不足

① 时效性问题。

因为 ChatGPT 只掌握了 2021 年之前的数据,所以一些最新的信息会缺失,一些旧的信息也可能已经过时。比如我让 ChatGPT 帮我找一些链接,有些链接就已经 404 了。

据说微软 new bing 整合的 ChatGPT 解决了这个问题,不过我现在还没有 new bing 的试用资格,所以先用 ChatGPT 了,反正就技术学习来说时效性差一点也无妨。

② 少数情况下,ChatGPT 会一本正经的胡说八道。

我看了一些其他人的使用体验,这个问题确实是存在的。ChatGPT 从来都是有求必应,哪怕它不知道,也会一本正经地给你生成一个看起来有模有样的答案。

根据我遇到的情况猜测一波,ChatGPT 会对没有可靠答案的问题进行推理,根据类似的问题答案推理出来一个可能的答案。

比如说我让 ChatGPT 写一个用 websocket 连接 Apache Pulsar 的 code example,它二话不说就给我写了个错的。后来我发现,它是把 Kafka 的 websocket 用法有模有样地套用到了 Pulsar 上。

实际上目前网上都没有太多用 websocket 连接 Pulsar 的案例,所以 ChatGPT 没有足够的数据进行训练,写不出正确的 code example 也情有可原。

还有一次,我问 ChatGPT 如何把 MySQL 的id字段转化成varchar字符串类型。它告诉我用Cast(id as VARCHAR(255)),结果报错,它也解释不清为啥报错。

后来我一搜,原来要用Cast(id as CHAR(255))的方式。看来 ChatGPT 目前还有一些不准确的地方,有待提升。

总结

总结一下,我感觉 ChatGPT 是一个新型搜索引擎,在某些场景下能够提供比传统搜索引擎更强大更高效的搜索效率。

完全依靠 ChatGPT 去做一些稍微复杂的任务,目前来看还是不现实的。
比如让 ChatGPT 写代码,目前它的水平只能写一写简单的 demo,而且经常需要手工修复一些细节错误。

但是让它作为搜索引擎的补充帮助我们学习新技术,还是比较靠谱的。问答式的体验在很多场景下都要优于传统搜索引擎。

本文就到这里吧,我个人相信,像 ChatGPT 这样的 AI 技术会和搜索引擎扮演同等重要的角色,那么如何更好地理解并运用 AI,是未来需要不断学习探索的课题。

相关文章:

马上要面试了,还有八股文没理解?让ChatGPT来给你讲讲吧——如何更好使用ChatGPT?

最近这段时间 ChatGPT 掀起了一阵 AI 热潮,目前来看网上大部分内容都是在调戏 AI,很少有人写如何用 ChatGPT 做正事儿。 作为一个大部分知识都是从搜索引擎和 GitHub 学来的程序员,第一次和 ChatGPT 促膝长谈后,基本认定了一个事…...

怎么避免服务内存溢出?

在高并发、高吞吐的场景下,很多简单的事情,会变得非常复杂,而很多程序并没有在设计时针对高并发高吞吐量的情况做好内存管理。 自动内存管理机制的实现原理 做内存管理,主要考虑申请内存和内存回收两部分。 申请内存的步骤&…...

01_I.MX6U芯片简介

目录 I.MX6芯片简介 Corterx -A7架构简介 Cortex-A处理器运行模型 Cortex-A 寄存器组 IMX6U IO表示形式 I.MX6芯片简介 ARM Cortex-A7内核可达900 MHz,128 KB L2缓存。 并行24bit RGB LCD接口,可以支持1366*768分辨率。 3.8/10/16位 并行摄像头传感器接口(CS…...

嵌入式学习笔记——STM32的中断控制体系

STM32的中断控制体系前言STM32中断的概念中断类型中断控制常用控制函数区分中断源与中断信号配置中断优先级分组问题中断使能中断服务函数总结前言 上一篇中,借着串口接受的问题,简要说了一下串口中断的作用和用法,本文将对STM32的中断控制体…...

如何发布自己的npm包

一、什么是npm npm是随同nodejs一起安装的javascript包管理工具,能解决nodejs代码部署上的很多问题,常见的使用场景有以下几种: ①.允许用户从npm服务器下载别人编写的第三方包到本地使用。 ②.允许用户从npm服务器下载并安装别人编写的命令…...

Qt QProcess管道命令带“|”多命令执行获取stdout输出问题总结

问题描述: 在Qt中,使用system和QProcess执行命令,system执行的命令,我们通常不需要获取stdout的输出结果,所以只需要得到返回结果,知道成功失败即可。 而用到QProcess,多半是要获取输出的返回信息。 这里的返回信息只要是标准输出的即可,当然了,也可以是别的channe…...

【JavaEE进阶篇2】spring基于注解开发1

在上一篇文章当中,我们提到了怎样使用spring来创建一个bean对象。下面,我们继续来研究一下,更加优胜的开发方式:基于注解开发【JavaEE进阶篇1】认识Spring、认识IoC、使用spring创建对象_革凡成圣211的博客-CSDN博客springIoc、使…...

统一登录验证统一返回格式统一异常处理的实现

统一登录验证&统一返回格式&统一异常处理的实现 一、用户登录权限效验1.1 最初的用户登录验证1.2 Spring AOP 用户统一登录验证的问题1.3 Spring 拦截器1.3.1 准备工作1.3.2 自定义拦截器1.3.3 将自定义拦截器加入到系统配置1.4 拦截器实现原理1.4.1 实现原理源码分析1…...

【建议收藏】华为OD面试,什么场景下会使用到kafka,消息消费中需要注意哪些问题,kafka的幂等性,联合索引等问题

文章目录 华为 OD 面试流程一、什么场景下会使用到 kafka二、消息消费中需要注意哪些问题三、怎么处理重复消费四、kafka 的幂等性怎么处理的五、kafka 会怎么处理消费者消费失败的问题六、数据库设计中,你会如何去设计一张表七、联合索引有什么原则华为 OD 面试流程 机试:三…...

【MySQL】MySQL的优化(二)

目录 explain分析执行计划 Explain分析执行计划-Explain 之 id Explain分析执行计划-Explain 之 select_type Explain分析执行计划-Explain 之 type Explain分析执行计划-其他指标字段 explain分析执行计划 通过以上步骤查询到效率低的 SQL 语句后,可以通过 …...

QT VTK开发 (一、下载编译)

Vtk,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C构建的,包含有大约250,000行代码&#xff0c…...

C/C++每日一练(20230314)

目录 1. 移动数组中的元素 2. 搜索二维矩阵 3. 三角形最小路径和 🌟 每日一练刷题专栏 🌟 Golang 每日一练 专栏 C/C 每日一练 ​专栏 Python 每日一练 专栏 Java 每日一练 专栏 1. 移动数组中的元素 将一维数组中的元素循环左移 k 个位置 输入…...

裸辞3个月,面试了25家公司,终于找到心仪的工作了

​上半年裁员,下半年裸辞,有不少人高呼裸辞后躺平真的好快乐!但也有很多人,裸辞后的生活五味杂陈。 面试25次终于找到心仪工作 因为工作压力大、领导PUA等各种原因,今年2月下旬我从一家互联网小厂裸辞,没…...

【Linux学习】进程间通信——system V(共享内存 | 消息队列 | 信号量)

🐱作者:一只大喵咪1201 🐱专栏:《Linux学习》 🔥格言:你只管努力,剩下的交给时间! 进程间通信——共享内存 | 消息队列 | 信号量🏀共享内存⚽系统调用shmgetkey值⚽系统…...

解决 IDA 防F5转伪C笔记

某app砸壳后放到IDA,根据堆栈查到该位置如下; G调到,0x1b81bcc 看下: BR 调到后面 x8 x9地址,汇编指令; 找到x9的地址,然后减去基地址也就是首地址,得到便宜地址; hook x9: var moduleAddr = Module.findBaseAddress("XX"); var line = moduleAddr.add...

【面试题】你需要知道的webpack高频面试题

大厂面试题分享 面试题库前后端面试题库 (面试必备) 推荐:★★★★★地址:前端面试题库谈谈你对webpack的看法webpack是一个模块打包工具,可以使用它管理项目中的模块依赖,并编译输出模块所需的静态文件。它…...

【YOLOv8/YOLOv7/YOLOv5/YOLOv4/Faster-rcnn系列算法改进NO.60】损失函数改进为wiou

前言作为当前先进的深度学习目标检测算法YOLOv8,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列文章,将重点对YOLOv8的如何改进进行详细的介绍&…...

2023年中职网络安全竞赛——数字取证调查(新版)attack解析(详细)

数字取证调查 任务环境说明: 服务器场景:FTPServer20221010(关闭链接)服务器场景操作系统:未知FTP用户名:attack817密码:attack817分析attack.pcapng数据包文件,通过分析数据包attack.pcapng找出恶意用户第一次访问HTTP服务的数据包是第几号,将该号数作为Flag值提交;…...

Cadence Allegro 导出Net Single Pin and No Pin报告详解

⏪《上一篇》   🏡《上级目录》   ⏩《下一篇》 目录 1,概述2,Net Single Pin and No Pin作用3,Net Single Pin and No Pin示例4,Net Single Pin and No Pin导出方法4.1,方法14.2,方法2B站关注“硬小二”浏览更多演示视频...

蓝桥冲刺31天之317

在这个时代,我们总是在比较,觉得自己不够好 其实不必羡慕别人的闪光点 每个人都是属于自己的限量版 做你喜欢并且擅长的事,做到极致 自然会找到自己独一无二的价值 鸟不跟鱼比游泳,鱼不跟鸟比飞翔 你我各有所长 A:组队…...

synchronized 学习

学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

MMaDA: Multimodal Large Diffusion Language Models

CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

【2025年】解决Burpsuite抓不到https包的问题

环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...