InertiaRSS Track and read blogs, news, and tech you care about
Read Original Open in InertiaRSS

Recommended Feeds

博客园 - 司徒正美
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

阮一峰的网络日志

科技爱好者周刊(第 396 期):互联网通信的替代方案 科技爱好者周刊(第 396 期):互联网通信的替代方案 - 阮一峰的网络日志 科技爱好者周刊(第 395 期):软件开发的第三种方式 科技爱好者周刊(第 395 期):软件开发的第三种方式 - 阮一峰的网络日志 科技爱好者周刊(第 393 期):脑腐状态 科技爱好者周刊(第 392 期):axios 投毒与好莱坞式骗术 科技爱好者周刊(第 391 期):AI 的贫富分化 科技爱好者周刊(第 390 期):没有语料,大模型就是智障 套壳中国大模型撑起500亿美元估值?扒一扒 Cursor 的"套壳"疑云 科技爱好者周刊(第 389 期):未来如何招聘程序员 科技爱好者周刊(第 388 期):测试是新的护城河 零安装的"云养虾":ArkClaw 使用指南 科技爱好者周刊(第 387 期):你是领先的 科技爱好者周刊(第 386 期):当外卖员接入 AI 字节全家桶 Seed 2.0 + TRAE 玩转 Skill 科技爱好者周刊(第 385 期):马斯克害怕中国车企吗? 智谱旗舰 GLM-5 实测:对比 Opus 4.6 和 GPT-5.3-Codex 科技爱好者周刊(第 384 期):为什么软件股下跌 科技爱好者周刊(第 383 期):你是第几级 AI 编程 Kimi 的一体化,Manus 的分层 科技爱好者周刊(第 382 期):独立软件的黄昏 AI native Workspace 也许是智能体的下一阶段 科技爱好者周刊(第 381 期):中国 AI 大模型领导者在想什么 科技爱好者周刊(第 380 期):为什么人们拥抱"不对称收益" 科技爱好者周刊(第 379 期):《硅谷钢铁侠》摘录 我如何用 AI 处理历史遗留代码:MiniMax M2.1 升级体验 科技爱好者周刊(第 378 期):预测是新的互联网热点 科技爱好者周刊(第 377 期):14万美元的贫困线 科技爱好者周刊(第 376 期):太空数据中心的争议 科技爱好者周刊(第 375 期):一扇门的 Bug 终于有人做了 Subagent,TRAE 国内版 SOLO 模式来了 科技爱好者周刊(第 374 期):6GHz 的问题 VS Code 使用国产大模型 MiniMax M2 教程 科技爱好者周刊(第 373 期):数据模型是新产品的核心 国产大模型接入 Claude Code 教程:以 Doubao-Seed-Code 为例 科技爱好者周刊(第 372 期):软件界面如何设计 大模型比拼:MiniMax M2 vs GLM 4.6 vs Claude Sonnet 4.5 科技爱好者周刊(第 371 期):一个乐观主义者的专访 科技爱好者周刊(第 370 期):正确的代码高亮 错误处理:异常好于状态码 科技爱好者周刊(第 369 期):Tim 与罗永浩的对谈 科技爱好者周刊(第 368 期):不要这样管理软件团队 一天之内,智谱和 Anthropic 都发了最强编程模型 科技爱好者周刊(第 367 期):Nano Banana 的几个妙用 科技爱好者周刊(第 366 期):旧金山疯狂的 AI 广告 科技爱好者周刊(第 365 期):流量变现正在崩塌 科技爱好者周刊(第 364 期):最难还原的魔方 科技爱好者周刊(第 363 期):最好懂的神经网络解释 科技爱好者周刊(第 362 期):GitHub 工程师谈系统设计 科技爱好者周刊(第 361 期):暗网 Tor 安全吗?
The post-interview era and AI practice questions
阮一峰 · 2024-10-10 · via 阮一峰的网络日志

I. Introduction

In July, I wrote an article"AI Programming Assistant Review: GitHub Copilot vs Doubao MarsCode"and recommended the latter.

The Doubao MarsCode team recently invited me to try their new feature "Code Practice," which is specifically designed for interview preparation and problem-solving.

After trying it, I have many thoughts.

I believe AI will change how programmers interview, and the future will be the "AI-driven post-interview era for coding practice."

II. LeetCode Practice for Interviews

Today's programmer interviews generally involve algorithm problem-solving.

To prepare for interviews, many people practice algorithm problems, most commonly using the LeetCode question bank.

LeetCode is the world's most popular algorithm question bank. Originating from the United States, it specializes in collecting various interview algorithm problems, with over 3,000 questions currently available, many of which are real questions from major internet companies.

Many students persist, dedicating several hours each day to solving problems from the bank to train their algorithm skills. Generally, it takes solving at least 200 problems to have a better chance of success in interviews.

(Image description: The upper image shows a foreigner's practice statistics dashboard. He practices every day for 365 days a year, totaling 1,500 problems solved.)

III. AI Disrupting LeetCode

With the emergence of generative AI, more and more people have found that with AI, manual practice may not be as necessary.

In August 2024, a user from the United States posted something like this on the Reddit forum.

He said that he wrote a script to let AI automatically solve LeetCode algorithm problems, completing 633 questions in one day with an 86% accuracy rate, at a cost of just $9.

This post received a huge response.

Since AI can provide the correct answers, why not refer to AI when preparing for interviews? Why insist on hard thinking and solving LeetCode problems by hand.

Four, the problem-solving ability of AI assistants.

We can definitely follow AI to solve problems and achieve twice the result with half the effort.

I chose a LeetCode problem to demonstrate how simple this is.


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

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

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

var romanToInt = function(s) {


};

The main reason I chose this question is that it's short and easy to demonstrate. Moreover, the difficulty of this question isn't high, but it requires considering multiple scenarios, making it very suitable for beginner-level interviews.

The AI tool I selected is the MarsCode extension for the VS Code editor, which is free.

In the VS Code code editor, open the extension from the left sidebar (if not installed, you can search for "MarsCode" in the extension market). Then, enter the question in the dialog box.

Wait for a moment, and the AI will provide the answer along with code explanations.

If you don't understand any part, ask the AI.

How much time it saves! It greatly speeds up the problem-solving process.

Five. The Post-Interview Era

As we can see, AI can quickly solve interview algorithm problems. So, should the interview mode based on algorithm problem-solving be changed?

Today's major internet companies all allow the use of AI models in the workplace, and requiring candidates to "solve problems manually" during interviews is already a bit outdated.

AI will become increasingly widespread. If future interviews do not use AI, it would be as unreasonable as not using an IDE editor. Programmers should be allowed to use their daily tools during interviews.

My idea is that, the focus of interviews may shift, from having candidates solve problems to explaining and reviewing AI-generated code.

During an interview, you might be given a piece of AI-generated code for a problem, and asked to explain the code and correct its errors and overlooked aspects.

This approach offers many benefits: (1) It's more aligned with a programmer's actual work patterns; (2) It can reveal a programmer's code reading and comprehension skills; (3) It's difficult to prepare for or cheat on; (4) It better reflects a person's collaboration skills; (5) It also applies to roles that lean more toward reading code than writing it, such as project managers and architects, etc.

This can be called "The Post-Interview Era Based on AI," where the focus of interviews has shifted from assessing coding problem-solving skills to evaluating code review and comprehension abilities.

VI. AI Practice Partner Function

There are now many tools that provide AI-assisted training for interviews.

Dou bao MarsCode's "Code Practice" is one of the latest attempts. After using it, I found it really helpful for preparing for interviews and effectively practicing problems, allowing me to train in collaborative programming with AI.

It is a cloud-based IDEdedicated pagethat comes built-in withover a hundred ByteDance interview questions.

All related operations are centralized on this page,It can be used with any browser, and you don't need to switch pages throughout the entire problem-solving process, making it much more convenient to use: selecting problems, solving them, debugging, AI conversations...

Moreover, it's free, and everyone can try it now: visit the official website ofDou Bao MarsCode and click on "Code Practice" in the top menu to enter.

This page is a cloud IDE, requiring no installation, and you can use it directly in your browser after opening it.

By default, the page is divided into four panels. On the left is the directory of interview questions, currently containing 100 problems, with more to be added in the future. Select a problem to see its specific content.

On the right side of the page are the code box and the AI box.

In the code box, you need to select your programming language first, there are 8 options available (Python, JavaScript, Go, C++, C, Java, Rust, TypeScript), the image above shows JavaScript. Then, enter your solution code, and click the run button at the top to see the result.

In the AI box, there are three preset options. Clicking them allows the AI to provide hints, code, or check the code. Below there is a chat box to communicate with the AI.

Generally, after getting the problem, (1) first click "Need some hint," to let the AI help you understand the problem. (2) Then click "Give me some code hints," to let the AI provide initial code. (3) You modify and improve the code, then click "Check my code," to see if there are any errors.

Additionally, this page integrates IDE features, such as syntax checking and code debugging. As you type the code, usage hints will be automatically provided (image below).

Such a "code practice.", considered a powerful tool for interview practice, I think, interview guidebooks and coaching classes may no longer be needed and will eventually be phased out.

7. Conclusion

AI is changing the software industry and will inevitably alter the interview and job search process for programmers.

AI-driven practice is the future trend, and those who leverage it effectively will find it easier to pass interviews and secure their desired job offers.

However, it should be noted that AI is just a tool, and the code it generates may not always be correct or safe, nor should there be any black boxes in projects.

The correct approach is to use AI but not rely on it; thinking is more important than answers. Only by understanding every line of code can one accept its results . The primary purpose of using AI is always to enhance our own capabilities, not to have AI replace us. The final responsibility for code lies with you, not AI.

(End)