慣性聚合 高效追讀感興趣之博客、新聞、科技資訊
閱原文 以慣性聚合開啟

推薦訂閱源

博客园 - 司徒正美
V
V2EX
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
A
About on SuperTechFans
月光博客
月光博客
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI

阮一峰的网络日志

無文章

后试之世,与 AI 刷题
阮一峰 · 2024-10-10 · via 阮一峰的网络日志

一、弁言

七月时,吾作文一篇。《AI编程助手评鉴:GitHub Copilot与豆包MarsCode》乃荐其后者。

豆包MarsCode团队近邀吾试其新功能"编程之习,专用于备面试、刷题。

试之既久,吾心多思。

吾以为,人工智能将易程序员面试之制,后当为人工智能题海之后之面试时

二、面试之 LeetCode 刷题

今之程序者面试,多设算法之题。

欲备面试,众皆习算法题,尤以 LeetCode 题库为常。

LeetCode 乃寰宇最盛之算法题库,源自美利坚,专收面试算法之题,今已逾三千,其间多互联网巨擘之真题。

诸生孜孜不倦,日投数时,习其题,砺己之算法。大抵至少习二百题,面试方得稍稳。

(图注:上图乃异邦人刷题统计之板,其人岁三百六十五日,日日习题,共习一千五百题。)

三、AI 颠覆 LeetCode

生成式 AI 既现,众渐觉,有 AI,人肉刷题似非所必需。

岁在甲辰,八月,有美利坚之网友,于 Reddit 论坛发帖如斯:

其言曰,吾撰一脚本,使 AI 自行求解 LeetCode 之题,一日之内,竟作六百三十三题,其率八成有六,所费不过九美元耳。

斯帖一出,波澜大起。

既 AI 可示以正解,何不参以 AI,以备面试之需?岂必苦索冥思,徒手刷题于 LeetCode。

四、AI 助手之解题之能

吾辈可随 AI 刷题,事半功倍,岂非善哉。

吾择一 LeetCode 之题,以示此事之易,何其简也。


你是一个 JavaScript 程序员,请补充完成下面的函数。

要求是输入一个代表罗马数字的字符串(比如"IX"),该函数会返回对应的阿拉伯数字(比如9)。

 /**
  * @param {string} s 
  * @return {number} 
  */ 

var romanToInt = function(s) {


};

择此题者,以其简明,便于示之。且此题之难不甚,然须虑诸般情状,甚适于初试。

吾所择之智械,乃 VS Code 编器之豆包 MarsCode 插件,其无费也。

于 VS Code 代码编辑器中,自左栏启此插件(若未安装,可于插件市索“MarsCode”)。继而,于对白中入题。

稍待片刻,智械即呈答案及代码之释。

倘有不明之处,可询于智械。

此诚省时之极,大速刷题之效。

五、面试之后

观此,智械能速解面试算法之题,则基算法解题之面试模式,其当有变乎?

今之互联网巨擘,皆许于工作中运用 AI 模型,面试复求"徒手解题",已稍显陈旧。

AI 将日益普及,若未来面试不用 AI,犹若不用 IDE 编辑器般非理,当许程序员于面试中用日常之具。

吾意以为,面试之重,或将易辙,自令面试者解题,转为令其解说并审察 AI 所生之码。

面试时,授以一段 AI 所生之解题码,令其解说此码,并修正其谬误及未虑周全之处。

此举益处甚多:(1)更契程序员之实际工作模式;(2)可见其码读与理解之能;(3)难于事前预备或作弊;(4)更能显一人协作之才;(5)亦适于偏重码读而非码撰之岗,如项目经理、架构师等。

此可称为"人工智能之面试新境,即面试自考编解题之能,渐变为考审码解意之能。

六、AI 伴习之能

今世多有器具,为面试供 AI 辅习。

豆包 MarsCode 之"码习",即一近新之试。吾用之,觉于备面试、效刷题实有益,可习己与 AI 协同编程。

此乃基于云 IDE 之专设之页,内置百余字节跳动面试真题

凡相关操作,皆集于此页。但具浏览器,即可用之,刷题之际,无需切换页面,大省其便:选题、解题、调试、AI 对话之属,皆在其中矣

。且,此乃免费之物,诸君可速试之:入豆包 MarsCode 官网,点其首部菜单之“代码练习”,则可入焉

。此页乃云 IDE,无需安装,启之即可在浏览器中用之

。其状,页分四栏。左栏为面试真题之目,今有百题,后当益增。选一题而点之,可见其详

。右栏乃代码框与 AI 框也。

于代码之框,首当其冲者,当择编程之语。凡八种之选(Python、JavaScript、Go、C++、C、Java、Rust、TypeScript),上图所示乃JavaScript。继而入解题之码,再点顶之运行之钮,则可见运行之果。

于AI之框,则有三预设之选,点之则可令AI示以思路、码、检码。下方复有对话框,用以与AI对话。

通常,得题之后,(1)先点"需思路之提示",令AI助解题意。(2)再点"赐码之提示",令AI出初码。(3)尔修改完善之,复点"检码",观其是否报错。

复有,此页集IDE之能,如语法之检、码之调。随码之入,自会示以用法之提示(下图)。

此般"码之习练"者,可谓面试习题之利器,吾以为,面试指要之书与辅导之班或可无复,后必渐废。

七、总结

AI变软件之业,亦必变程序员之面试求职。

AI习题者,乃未来之趋,善用之者将易过面试,得所愿之offer。

然,须告者,AI仅器耳,所生之码未必正且安,且项目之中亦不当有黑箱。

正道者,用AI而不恃,思路重于答案,惟通每行之码,方可纳其果。吾辈用AI之首要,恒在进己之能,非使AI代吾,码之终责者非AI,乃汝也。

(终)