인셔셔RSS 관심 있는 블로그, 뉴스, 기술 정보를 효율적으로 추적하고 읽으세요
원문 읽기 InertiaRSS에서 열기

추천 피드

博客园 - 司徒正美
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 安全吗?
면접 후 시대와 AI 문제 풀이
阮一峰 · 2024-10-10 · via 阮一峰的网络日志

1. 서론

7월에 제가 글을 썼습니다.《AI 프로그래밍 보조 도구 평가: GitHub Copilot vs 두패키 마르스코드》, 후자를 추천했다.

두팍 MarsCode 팀이 최근에 제게 새로운 기능 "을 시험해 달라고 초대했습니다코드 연습", 이는 면접 준비와 문제 풀이를 위해 특별히 사용됩니다.

시도한 후에, 많은 생각이 생겼습니다.

나는 AI가 프로그래머의 면접을 바꿀 것이라고 생각하며, 앞으로는AI 문제 풀이 이후 면접 시대

2. 면접의 LeetCode 문제 풀이

현재 프로그래머 면접에서는 일반적으로 알고리즘 문제 해결이 포함됩니다.

면접 준비를 위해 사람들은 알고리즘 문제를 풀기 위해 노력하며, 가장 흔하게 사용되는 것은 LeetCode 문제 라이브러리입니다.

LeetCode는 세계에서 가장 인기 있는 알고리즘 문제 라이브러리입니다. 미국에서 유래하여 다양한 면접 알고리즘 문제를 수집하며, 현재 3000개를 넘어서며, 그 중 많은 것은 인터넷 거대 기업의 실제 면접 문제입니다.

많은 학생들이 끈기를 가지고 매일 몇 시간을 투자하여 그 안의 문제를 풀고 알고리즘 능력을 훈련합니다. 일반적으로 최소 200문제를 풀어야 면접에서 좀 더 확신을 가질 수 있습니다.

(이미지 설명:위의 그림은 어떤 외국인의 문제 풀이 통계 패널입니다. 그는 365일 중 매일 문제를 풀며, 총 1500문제를 풀었습니다。)

3. AI가 LeetCode를 혁신합니다.

생성형 AI가 나타난 후,越来越多的人이 AI가 있으면 인간이 직접 문제를 풀 필요가 없다는 것을 발견했습니다.

올해(2024) 8월에 미국의 Reddit 포럼에 한 사용자가 이런 게시물을 올렸습니다.

그는 자신이 AI를 사용하여 LeetCode 알고리즘 문제를 자동으로 풀 수 있는 스크립트를 작성했다고 말했습니다. 하루에 633개의 문제를 풀고 정확률은 86%에 달했으며, 비용은 9달러에 불과했습니다.

이 게시물은 큰 반응을 얻었습니다.

AI가 정답을 알려줄 수 있는데, 왜 AI를 참고하지 않고 면접을 준비해야 하는가요? 굳이 고생스럽게 생각하고 LeetCode 문제를 손으로 풀어야 하는가요?

AI 보조 기능의 문제 해결 능력

우리는 AI와 함께 문제를 풀어 효율을 극대화할 수 있습니다.

LeetCode 문제 중 하나를 선택하여 이는 얼마나 쉬운 일인지 보여드리겠습니다.


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

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

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

var romanToInt = function(s) {


};

위의 문제를 선택한 이유는 주로 짧아서 보여주기 좋기 때문입니다. 또한, 이 문제는 난이도가 낮지만 여러 상황을 고려해야 하므로 초급 면접에 적합합니다.

나가 선택한 AI 도구는 VS Code 편집기의 봉투 마르스코드 플러그인으로, 무료입니다.

VS Code 코드 편집기에서 왼쪽 창에서 해당 플러그인을 엽니다(설치되지 않았다면 플러그인 시장에서 "MarsCode"를 검색할 수 있습니다). 그런 다음 대화 상자에 문제를 입력합니다.

잠시 기다리면 AI가 답과 코드 설명을 제공합니다.

모르는 부분이 있다면 AI에게 질문하세요.

이렇게 시간을 얼마나 절약할 수 있는지, 문제 풀이 속도를 크게 높일 수 있습니다.

오, 후 면접 시대

AI가 면접 알고리즘 문제를 빠르게 해결할 수 있다는 것을 볼 수 있으므로, 알고리즘 문제 해결을 기반으로 한 면접 모드는 변화해야 할까요?

현재 인터넷 거대 기업들은 AI 모델을 업무 중 사용하는 것을 허용하고 있으며, 면접에서 '손으로 문제 풀이'를 요구하는 것은 이미 시대에 뒤떨어진 것입니다.

AI는 점점 더 보편화될 것이며, 미래의 면접에서 AI를 사용하지 않는 것은 IDE 편집기를 사용하지 않는 것과 같이 불합리해질 것입니다. 프로그래머들이 면접 중 일상적인 도구를 사용할 수 있어야 합니다.

제 생각은, 면접의 평가 중심이 변할 수 있으며, 면접자가 문제를 풀도록 하는 것에서 AI가 생성한 코드를 설명하고 검토하도록 하는 것으로 바뀔 것입니다.

면접 시, AI가 생성한 문제 해결 코드를 주고 이를 설명하도록 하며, 그 안의 오류와 고려하지 못한 부분을 수정하도록 합니다.

이렇게 하면 다음과 같은 많은 이점이 있습니다: (1) 프로그래머의 실제 업무 모드에 더 가깝습니다; (2) 프로그래머의 코드 읽기 및 이해 능력을 볼 수 있습니다; (3) 사전 준비나 사기가 어렵습니다; (4) 한 사람의 협업 능력을 더 잘 반영할 수 있습니다; (5) 코드를 읽는 것보다 작성하는 것을 선호하는 직무, 예를 들어 프로젝트 관리자, 아키텍트 등에도 적용할 수 있습니다.

이를 "AI 기반의 면접 시대 이후", 즉 면접이 코딩 해결 능력을 평가하는 것에서 진화하여 코드 검토 이해 능력을 평가하는 것으로 변화했습니다.

6. AI 멘토링 기능

이제 많은 도구들이 면접을 위한 AI 보조 훈련을 제공합니다.

두패우 마르스코드의 "코드 연습"은 최근의 시도입니다. 사용한 후에 면접 준비와 효과적인 문제 풀이에 정말 도움이 되고, AI와 공동으로 프로그래밍하는 것을 훈련할 수 있다고 생각합니다.

그것은 클라우드 IDE 기반의특정 페이지로, 내장되어수백 개의 자바빅 동의 면접 문제를 포함하고 있습니다.

모든 관련 작업이 이 페이지에 집중되어 있습니다, 브라우저만 있으면 사용할 수 있으며, 문제 풀이 전 과정에서 페이지를 전환할 필요가 없습니다 이로 인해 사용이 매우 편리해졌습니다: 문제 선택, 풀이, 디버깅, AI 대화 등

또한, 무료이며 지금 바로 사용해 보세요: 豆包 MarsCode 공식 웹사이트로 들어가서 상단 메뉴의 "코드 연습"를 클릭하면 이용할 수 있습니다

이 페이지는 클라우드 IDE로, 설치가 필요 없으며 열면 브라우저에서 바로 사용할 수 있습니다

기본적으로 페이지는 네 개의 창으로 나뉩니다. 왼쪽에는 면접 문제의 목록이 있으며 현재 100개가 있으며 앞으로도 계속 추가될 예정입니다. 문제를 선택하면 클릭하면 구체적인 내용을 볼 수 있습니다

페이지 오른쪽에는 코드 상자와 AI 상자가 있습니다

코드 상자에서는 먼저 프로그래밍 언어를 선택해야 합니다. 총 8가지 언어가 선택 가능합니다 (Python, JavaScript, Go, C++, C, Java, Rust, TypeScript). 위 그림은 JavaScript입니다. 그런 다음 문제 해결 코드를 입력하고 상단의 실행 버튼을 클릭하면 실행 결과를 볼 수 있습니다.

AI 상자에서는 세 가지 사전 설정된 옵션이 있습니다. 클릭하면 AI가 아이디어를 제공하고 코드를 작성하며 코드를 검토할 수 있습니다. 아래에는 AI와 대화할 수 있는 대화 상자가 있습니다.

일반적으로 문제를 받으면, (1) 먼저 "아이디어를 좀 요청해주세요"를 클릭하여 AI가 문제를 이해하도록 도와달라는 것이고, (2) 다음으로 "코드를 좀 제안해주세요"를 클릭하여 AI가 초기 코드를 제공하도록 합니다. (3) 그런 다음 코드를 수정하고 완성한 후 "코드를 검토해줘"를 클릭하여 오류가 발생할지 확인합니다.

또한, 이 페이지에는 IDE 기능이 통합되어 있어 문법 검사와 코드 디버깅 기능이 포함되어 있습니다. 코드를 입력할 때마다 자동으로 사용법을 제안합니다 (아래 그림 참조).

이런 " 코드 연습"는 면접 문제 풀이의 강력한 도구로 평가받습니다. 제 생각에는, 면접 지도 서적과 학원은 더 이상 필요 없을 것 같으며, 앞으로는 폐기될 것입니다.

7. 요약

AI는 소프트웨어 산업을 변화시키며, 프로그래머의 면접 및 취업 과정도 변화시킬 것입니다.

AI로 문제 풀이는 미래의 트렌드이며, AI를 잘 활용하는 사람들은 면접을 통과하고 원하는 제안을 받기 더 쉬울 것입니다.

하지만, AI는 단순한 도구이며, 생성된 코드는 항상 올바르고 안전하지 않을 수 있으며, 프로젝트 중에도 투명성이 중요합니다.

올바른 접근 방식은, AI를 사용하지만 의존하지 않는 것입니다. 생각이 답보다 더 중요하며, 각 줄의 코드를 이해하지 못하면 결과를 받아들일 수 없습니다. 우리가 AI를 사용하는 최우선 목적은 자신의 능력을 향상시키는 것이지, AI가 우리를 대체하는 것이 아닙니다. 코드의 최종 책임자는 AI가 아닌 당신입니다.

(끝)