背八股文入职大厂,看不懂代码?

职场   2024-11-21 12:37   广东  

大家好,我是小北。

在过去一年里,AI编程助手的发展可以说是日新月异。

从GitHub Copilot 的横空出世,到 Amazon CodeWhisperer 的持续迭代,再到像 CodeGeeX、Cursor 这样的创新产品,我们见证了 AI 编程工具从简单代码补全向项目级智能助手的转变。

似乎不用 AI 编程就 Out 了!

说实话,国内外很多AI 编程工具用了一圈下来,最终用下来比较功能比较满意的还是CodeGeeX:

难得的是 CodeGeeX 还在 Github 开源了,不得不说,智谱有点东西的。

现在在日常工作中,已经高度使用 CodeGeeX 这种 AI 编程工具了,最常用的键从 ctrl-c/v 变成了 tab(不断点 tab 确认 ai 的提示)

但是要说完全让AI 写代码肯定不现实,目前我对 AI 的定位是提高效率,之前可能需要浏览器、其它软件搜索,现在 ALL IN AI,目前我用的比较多的能力是:

  • 局部代码生成
  • AI 补全注释(最讨厌写注释也最讨厌别人不写注释)
  • 对代码片段提问
  • 变量、函数命令
  • 局部文件、函数级的序列图、流程图生成

首先,代码生成、补全这些都算是 AI 编程工具的标配了,所以简单演示下代码生成:

先来看个 C++ 快排实现吧:


相比早期动辄需要等待几秒的体验,现在的代码生成和补全已经能做到无感知延迟;

可以看到,CodeGeeX不仅生成了标准的快速排序实现,还自动添加了必要的注释。

特别值得注意的是,它在生成代码时考虑了:

  • 基准值的选择策略

  • 边界条件处理

接下来让 CodeGeeX 帮忙生成一下单测测试一下,然后补全注释:

生成的注释还是非常到位的,基本上都抓住重点了,生成的测试用例也还不错,覆盖了多个场景:
  • 正常数组排序
  • 包含重复元素的数组
  • 边界情况(空数组、单个元素)

当然,这都是比较基础的一些能力啦,现在 CodeGeeX 也不仅仅是停留在这种 Demo 级别的演示代码生成~

很多同学说被八股文通过了面试,刚入职公司看不懂那种复杂的项目,怎么办?

包括大家日常在找工作过程中,最头疼的就是项目问题。

去 Github 下载一个项目吧,自己又看不懂,无从下手,看到几十个文件头都麻了!

正好,CodeGeeX 这两天推出了一个叫 “项目地图”的功能,这玩意是干啥的呢?

简单来说就是,它具备理解整个项目的能力,理解了项目之后,能干的就多了,比如可以绘制时序图、流程图帮助我们快速理解整个项目。

也可以直接问项目里某个功能具体在哪些文件,哪些函数实现的。

这次我们直接用 Github 上的一个 17k star 的开源项目:TinyWebServer。

这是用多线程、锁、MySQL 等实现的一个 Web服务器项目:

整个代码量应该是近万行的,比较接近真实项目(真实项目里大多也是微服务)。

首先把代码 clone 到本地之后,打开CodeGeeX 的对话框,它会先对整个代码建立代码库(workspace),也就是分析整个项目的代码:

先安利一个非常实用功能,也是最近才上的:ghost comment (幽灵注释)。

啥叫幽灵注释?简单来说就是他会生成注释,但是这个注释不是写在代码文件里的,而是在代码旁边显示,类似于旁白,目的是为了方便你理解代码:

不得不说,想到这个点子💡的产品经理太懂程序员了!

可以看视频感受下:

这些幽灵👻注释不仅解释了代码的功能,还包括:

  • 实现的设计思路
  • 潜在的性能影响
  • 与其他模块的交互

另外一个我特别喜欢的能力就是,根据代码绘制类图、流程图、时序图等!

这个可就太方便了,尤其是有时候新接手一个项目,上手过程一般就是自己梳理出一些脑图、流程图沉淀到 wiki 上。

而现在,完全不需要手画了,直接右键就生成了,这效率提升可太大了,比如下面这个图就是 CodeGeeX 生成的 WebServer 的时序图,是不是还非常的准确:

可以看视频感受下生成过程,还是非常快的:

平常最喜欢看别人画的时序图,能很快理解代码逻辑,但是自己却不想花时间去画图,这下有了AI,妈妈再也不用担心我画图花时间了~

时序图和流程图可以快速帮我们搞清楚项目的整体架构、核心业务流程、模块间的依赖关系、关键处理路径等等。

当然了,项目地图还可以直接对着 CodeGeeX 问一些细节问题,比如项目里是如何处理HTTP高并发时、线程模型是怎么样的、HTTP 请求是怎么做的等等,

CodeGeeX能够精确定位到关键代码文件,并提供详细解释:

如下视频所示,响应速度还是非常快的,也能把握到项目的核心:


说实话,现在有这么多 AI 编程工具,对于做项目、学习编程、找工作来说效率都提高了很多倍!

遇到问题也不用找大佬了,AI 就是又耐心又全能的巨佬!

Github 找的项目也能让 CodeGeeX 整体分析,还能画图讲解,简直不要太爽了!

怎么使用呢?

很简单,直接去官网: https://codegeex.cn/

官网有目前最新支持的 IDE 列表:

基本上主流的 VS Code、IDEA、PyCharm、Visual Studio 等都支持的。

比如在 VS Code 中可以直接搜索  CodeGeeX插件进行安装:

赚 iPhone

当然了,今天写这篇文章除了给大家安利下 CodeGeeX,还有个目的(最重要)就是参与 CodeGeeX最新的活动:


活动从 11.21-11.28 号,奖品很丰富,包括最新款的iphone16、Switch游戏机、大疆 Pocket2、新款airpods、泰坦34寸超高清游戏显示器、华为智能手环、黑悟空联名游戏手柄、数量丰富的京东E卡等。

安利 CodeGeeX 的同时,顺便领个奖品,这不香么。

当然了,强烈建议大家也可以参与这个活动,邀请一下室友同学之类的,有羊毛,一起薅,毕竟有这么多获奖名额(悠着点,别把我 iPhone 抢了就行):

活动参与方法

  • 下载CodeGeeX插件登录后点击“个人中心
  • 或者访问 CodeGeeX官网(https://codegeex.cn/),登录后进入“个人中心”,点击「邀请好友」
  • 复制你的专属邀请码。比如小北的邀请码就是“#BB6920#”:

然后邀请好友助力:

  • 活动开始后,将你的专属邀请码分享给好友
  • 好友在IDE中下载并安装 CodeGeeX插件,登录后进行 1 次智能问答:完整输入 #专属邀请码# 后发送智能问答
  • 确认好友符合新用户条件,邀请人即可获得积分

此外“还有积分加倍规则”和“每日活跃加分”:

最后,放一个直达链接,扫下面这个二维码即可参与:

或者点击【阅读原文】也可以直达活动页面。

编程指北
大厂开发, 分享计算机、编程、科班学习经验和计算机基础知识,CS系统学习网站: csguide.cn
 最新文章