《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
别以为TJ君说的是天方夜谭,就在前不久的 GitHub Universe 2021开发者大会上,GitHub官方正式宣布了一款名为 Copilot工具的更新。
说起Copilot这个名字,相信一直关注GitHub的小伙伴马上脑海中会浮现出今年早些时候看到的新闻。
就在今年夏天,GitHub 官方和OpenAI联合发布了一款AI自动编程工具,其名字正是 GitHub Copilot 。就像前文TJ君想的那样,通过Copilot,程序员只需输入注释,即可自动生成代码!
当时一时间在程序猿圈子里还引起了不少的轰动,但更多的是对这个工具的疑问,还因此引发了一个快速平方根倒数算法事件。
快速平方根倒数算法,是当年红极一时的雷神之锤3(Quake 3,也是TJ君当年的最爱之一)的开发者约翰·卡马克用的一段代码。
卡马克大神
这段使用多项式逼近计算平方根的代码,至今都没什么人能明白卡马克的脑子是怎么想出来的,以至于这段代码阿注释直接是what the f***?很贴切了
而有开发者在Copilot发布后不久就发现,只要输入 快速平方根倒数算法(Fast Inverse Square Root,当然是英文)作为注释,Copilot 就会逐行逐字地重现了这段神奇的算法,一字不差,甚至连那个夸张地注释都没变。
这下子仿佛在程序猿小伙伴中间投了颗原子弹,大家都在问难道Copilot只是把别人的代码拿来复制一下就是所谓地自动生成了?
那这之后各种版权问题咋搞,万一用了Copilot生成一段代码却被人起诉了怎么办?甚至有科技公司直接宣布禁止旗下员工使用Copilot开发公司产品,就是为了减少不必要的麻烦。
一时间各种针对Copilot地非议愈演愈烈,甚至传出了自动生成内容是某个公司大佬身份证这样的消息,当然后来被澄清是一个笑话。
但是GitHub并没有退缩,认为Copilot并没有简单的抄袭其他人的内容,而是经过大量训练的AI自动生成所需代码,和抄袭完全是两回事。反正这件事情后来也么了下文,当时Copilot也只支持 Visual Studio Code。
不过前几天的这次更新之后,Copilot将全面支持Neovim 和 JetBrains IDE,包含开发者常用的 IntelliJ IDEA、PyCharm 等。同时增加了对 Java 中多行补全的支持,并计划在未来几个月内支持Python、Java、Type、Ruby 和 Go之外更多的语言,似乎真的是要大干一场。
如果想用Copilot的话,需要将 IntelliJ IDEA 和 PyCharm 升级到 2021.2 或以上版本、Neovim 的版本则需要升级成 0.6 或以上版本,并且需要安装 Node.js v12 或以上版本。
安装重启之后就可以在工具栏看到安装好的Copilot
然后登陆GitHub账号,同意相关条款
那说了那么久,这款号称可以自动编码的插件具体使用效果如何呢?就让TJ君带你领略一下或许是未来的编码趋势与潮流:
例如在项目里新建了test类,Copilot马上就会给一个建议生成的主体
此时只需要轻按一下tab键,就可以接受建议自动生成,无需手打这段代码。
同样的如果输入了一个函数标题,也会自动出现推荐的函数主体内容,一样是用tab键接受。
当然,Copilot不止会给出单一的自动编码推荐,用户可以使用Alt+]
或者Alt+[
来逐个切换不同的推荐,就像逐个挑选一件件商品一般,选中之后轻按一下tab键使用即可。
而通过Alt+Enter
可以直接打开各种推荐的列表,便于查找。
至于TJ君之前梦想的根据注释自动生成代码,有一个前提就是必须输入的注释能让机器看懂,也就是说,需要英文注释。当输入中文注释,Copilot不一定看得懂含义,毕竟中文可是博大精深滴。。。
总结
互联网大厂比较喜欢的人才特点:对技术有热情,强硬的技术基础实力;主动,善于团队协作,善于总结思考。无论是哪家公司,都很重视高并发高可用技术,重视基础,所以千万别小看任何知识。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
**另外本人还整理收藏了2021年多家公司面试知识点以及各种技术点整理 **
下面有部分截图希望能对大家有所帮助。
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
.(img-IpcNraCS-1714423258460)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
总结
**总结文章要点如下**:### 1. GitHub Copilot工具的介绍与更新
- **命名为由**:GitHub与OpenAI联合发布了一款名为GitHub Copilot的AI自动编程工具。
- **功能特点**:通过注释自动生成代码,大大提升了编程效率。
- **更新动态**:Copilot现在全面支持Neovim和JetBrains IDE系列(如IntelliJ IDEA、PyCharm),并计划支持更多编程语言。
- **使用条件**:需要升级相应的IDE至最新版本,并安装特定版本的Node.js。
### 2. 快速平方根倒数算法事件
- **背景介绍**:快速平方根倒数算法源自Quake 3开发者约翰·卡马克的经典代码,因其复杂性而闻名。
- **Copilot表现**:输入相关注释后,Copilot不仅能生成代码,连注释都逐字未改地重现,引发版权争议。
- **反响与争议**:开发者对Copilot的“复制粘贴”式的自动编程表达了质疑,担心版权问题和诉讼风险。
### 3. 使用体验与操作技巧
- **自动生成代码**:Copilot会根据用户输入的注释或代码框架自动生成建议内容,通过tab键即可接受。
- **的代码推荐**:提供多个自动生成选项,可用快捷键(如Alt+]、Alt+[)切换,或Alt+Enter打开推荐列表。
- **注意事项**:英文注释能更好地让Copilot理解并生成代码,中文注释可能会导致理解偏差。
### 4. 面试总结与学习资源
- **大厂偏好**:大厂偏好的人才特质包括技术热情、坚实的技术基础、主动性与团队协作能力。
- **面试心态**:面试是双向选择,要保持积极心态,除了薪资也要关注公司文化和成长空间。
- **学习资源推荐**:分享了《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》资源,供读者学习参考。
通过这篇文章,我们了解了GitHub Copilot的强大功能、发展历程以及面对的一些争议,同时也获得了大厂面试的一些宝贵建议和学习资源的推荐。