AI Coding 时代下,我的技术面试实践分享

作者:AlienZHOU日期:2026/9/18

从年初到现在,大家在 AI Coding 时代的工作方式已经有了很大变化,但我当时在社区交流时发现,大家的面试方式似乎没有相应调整。

正好今年五六月开始,我作为面试官进行了多场面试。在这个过程中也尝试调整了一些面试方式。以下是我从面试官视角做的一些总结,分享出来和大家交流一下。

一、大幅降低了手写代码的比例

在我的面试里,不再要求候选人当场写代码了。

但是,为了防止候选人「只会用 AI、自己完全不懂技术」的情况,我仍然保留了基础门槛:在一面中,我会保留两三道很基础的编码或计算机原理题,属于「会者不难、难者不会」:受过计算机和软件工程训练的人,应该都能答出来。防止招进来的人因为不懂技术,在真实项目里出事故。

二、至少一道 AI Coding 题

推荐在多轮面试里至少有一轮 AI Coding 题。现在大家都会或多或少使用 AI 来协同开发,但是使用的深浅不一。完全不用 AI 的考察,和工作还是有脱节的。而且我也和候选人交流过,候选人也会通过面试形式反推这个团队平时的 AI Native 程度。面试大致就是:

  • 先看候选人还没开始写之前,能不能抓住题目里的关键点
  • 观察他进行 AI Coding 时的一些实践习惯,收集作为问答内容
  • 最后会留一段时间,让他离开代码,把方案裸讲一遍,再往外延几个问题

相比当时,我目前也有一些新的感受,发现了一些待调整的点:

时间是最大限制。我一般会给三十分钟,但三十分钟里,等待生成、读方案代码、审查占掉非常多时间,候选人其实很难深入。对于这个问题,可以把 AI Coding 题放到面试前的非实时考察里,这样可以节省时间,让候选人有更多时间思考和表达。社招面试上我暂时还没有特别好的解法。

评分基线会提高很多。不少题目,AI 基础回答的“基线”挺高,相比前几年(尤其在低职级上),一个同等职级的交付结果要好非常多。所以非常建议面试官能深入准备一些题目,因为它也对面试官问问题的水平提出了更高的要求。

三、重启白板面试,但不是手写代码

我重新用起了白板,但不是让候选人手写代码。相反的,只让候选人手绘技术方案。

这块很类似于之前的系统设计类题目。会从候选人简历的项目里,延伸或切分出一个相关的产品功能或业务场景,让他来进行完整的设计。包括但不限于绘制时序、分层、部署、组件关系等,模拟几个人围着白板设计一个功能。

题目也会整体偏全栈链路,很少只让他局限在前端或者后端这种单一的技术栈。或多或少都会让候选人从完整的系统角度进行设计。面试中也会由浅入深,一般先画一个基础的设计框架,然后针对其中的可深入部分,继续细化设计。

实际上和以前的系统设计、方案设计类的题目很类似。以前随着目标职级变高,这块的比重会变大很多;现在的一大区别是,这类的考察我会向低职级也进行扩展。之所以加大对此的考察,是因为我们在开发工作中,越来越多的角色是给出合理的方案,让 Agent 执行,而不是自己亲自去写代码。所以了解方案的取舍、权衡方案是否合理非常重要。

那为什么一定要在白板上,而不是只靠口头表达?我发现,要求把系统画出来、具象化,可以更直接地看到候选人在部分概念和逻辑上不清晰的地方。反过来说,如果技术方案没想清楚,候选人在白板题上会明显有卡顿。

四、提高了对业务和产品理解的要求

我现在习惯在系统设计和白板讨论后,再追问一些功能或业务问题。希望候选人能够拥有产品意识和产品素养。

同样的,之前可能会在某些职级上问到这类问题,但目前会有更多职级被问到。例如今天下午的面试,我就问候选人:做的这个产品,如果要做一个砍到不能再砍的 MVP,需要做哪些功能?我个人理解,这属于一个业务和技术结合的问题,既要理解核心的业务闭环,也要考虑技术实现的可行性和成本。

另一方面,候选人如果在简历中提到一些业务和技术指标的提升,我会更深入追问这个目标的合理性,以及对整体业务的贡献逻辑。因为能设定一个好的目标,也成为了一个重要且有意义的能力。

五、如何考察 AI 实践能力

为了提供面试考察的覆盖度,我们团队的面试考察分工为:一面包含 AI Coding 题和基础题;二面不再重复进行 AI Coding 考察,而是考察上述其他内容。

说实话,上面一套下来,面试时间就快结束了。但我还是想尝试增加一道 AI 实践能力考察题。

我曾经试图使用「你有哪些好的 AI 实践分享」来考察,发现效果不佳。为什么呢?因为我发现两个情况:

  • 讲的内容「听起来」过于基础没有区分度。例如很多讲 SDD 的,里面其实细节很多,但是如果不仔细、深入地问,就很容易被笼统地认为很基础。
  • 讲的内容「天花乱坠」。现在网上各种“前沿”实践,如果我经常刷视频,即使没有实际实践,也可以说得很“厉害”。但实际它有没有掌控这个实践也很难考察出来。

所以我目前尝试换了一个方式,我会问「你最近一次最失败的 AI 实践是什么」。失败不是扣分项。反而我认为,别人的成功套路可以复述,但如果没有亲自做过,很难凭空讲出自己的失败。同时,从一个具体的失败里,也可以看出候选人掌控 AI 的能力“上限”,以及他的复盘与总结能力。

最后

以上这些做法,都只是我个人的阶段性实践总结。AI Coding 的变化很快,未来对“工程师”的要求也会很快变化。而面试标准往往滞后于工作本身。AI Native 的「Product Builder」的成长路径是什么,似乎还未有定论。

我把现阶段的想法、做法与失败尝试写下来,希望能给大家提供一些参考。


《AI Coding 时代下,我的技术面试实践分享》 是转载文章,点击查看原文。


相关推荐


11 · 如何把项目写进简历与面试
再吃一根胡萝卜2026/9/10

完整版见 docs/04-简历项目描述(可直接粘贴).md 和 docs/05-面试问答手册.md 一、先说风险 不要虚构"在职期间做过"的项目。 最稳妥的做法:作为个人开源 / 业余技术实践写进项目经历, 面试时说明"基于工作中 Agent 相关实践的延伸与沉淀"。 二、技能栏(直接替换) AI / Agent: LangChain · LangGraph · LangChain4j · RAG · Function Calling / Tool Use Promp


陶瓷盘UV喷墨印刷中的Z轴高度测量与防碰撞技术方案
长江后浪博客2026/9/2

文章来源说明:本文由 ZeroOne AI 整理发布,官网与 CSDN 双端同步首发,原文见 www.zeroone-ai.com。 在陶瓷盘、餐具等异形产品进行 UV 喷墨印刷时,最大的难点之一并不是单纯的图像打印,而是喷头与产品表面之间的高度控制。 普通平面材料可以将喷头固定在一个高度,例如距离材料表面 3~5 mm。但陶瓷盘通常存在: 盘面高度差 边缘翻边 浮雕 LOGO 凸起 产品翘曲 不同型号厚度不同 如果喷头高度固定,就可能出现两种问题: 距离太


Python WebSocket 实现融通金实时行情监听
脉动数据行情2026/8/25

一、业务背景 黄金回收、珠宝门店系统开发中,融通金报价是很常用的数据来源。本文使用 Python WebSocket 实现长连接监听,包含心跳保活、断线自动重连、行情字段解析,可直接部署服务端 7×24 小时运行。 说明:订阅报文格式 {"Key":"品种编码"},客户端每 10 秒发送 ping 心跳维持链路。 主要品种编码:RJGOLD 融通金黄金,RJAG 融通金白银,RJPT 铂金,RJPd 钯金。 二、Python 依赖安装 pip install websocket-cl


DeepResearchSystem 0x08:KB 知识记忆
chaors2026/8/12

回顾 -> 问题引出 DeepRearchSystem 0x00:初识 DeepRearchSystem 0x01:Agent 基础 DeepRearchSystem 0x02:Graph 构建 DeepRearchSystem 0x03:HITL DeepResearchSystem 0x04:MAS 进阶 DeepResearchSystem 0x06:LLM as Judge DeepResearchSystem 0x07:查询缓存 上一章] 实现了 DeepRearchSystem


Octafuse Gateway 2.1 发布:不只管大模型,Agent 的每一次工具调用也都管起来!
程序猿DD2026/8/3

过去我们的 AI 网关,绝大多数的更新关注点在以下几个方面: 如何统一接入 OpenAI、Anthropic、Gemini 等协议 如何在多个 Provider 之间路由和故障转移 如何管理 API Key、预算、Token、成本与调用日志 但当 Agent 真正进入业务,模型调用只是链路的一部分。它还会搜索网页、抓取正文、做深度检索,甚至调用 AI 率检测等垂直能力。如果这些工具各自维护密钥、价格、账单和日志,系统很快又会回到“每接一个能力,就多一套烟囱”的状态。之前我们已经做了一些 Ag


Rust Option 详解:安全处理“可能存在,也可能不存在”的值
程序员爱钓鱼2026/7/26

《Rust 编程实战》系列第 21 篇 在上一篇文章中,我们学习了 HashMap。 在使用 HashMap 查询数据时,经常会看到这样的代码: map.get("Tom") 它的返回值并不是直接返回某个值,而是: Option<&V> 为什么? 因为指定的键可能存在,也可能不存在。 Rust 使用: Option<T> 来表示这种“可能有值,也可能没有值”的情况。 它是 Rust 中最重要的枚举类型之一。 本文将介绍: 什么是 Option<T> Some 与 None 为


用腻了 WorkBuddy 的默认界面?这个开源小工具给它换上了毛玻璃
万少2026/7/18

用腻了 WorkBuddy 的默认界面?这个开源小工具给它换上了毛玻璃 天天用的界面,能不能好看一点? WorkBuddy 是一款很趁手的桌面工具,但默认界面看久了难免有点单调。作为一个既想要颜值、又不敢乱改软件的人,我做了一个小工具——workbuddy-skin,给它换上背景壁纸和毛玻璃质感的界面,而且全程不碰任何官方文件,随时能变回原样。 现在它已经打包成双击就能用的绿色程序,不用装环境、不用敲命令,普通用户也能轻松上手。 它做了什么 真背景层:在整个窗口铺一张


【AI智能体】Hermes Agent 从部署到项目实战操作详解
小码农叔叔2026/7/9

目录 一、前言 二、Hermes 介绍 2.1 Hermes 是什么 2.2 与普通AI聊天工具区别 2.3 Hermes 核心理念:自我进化 2.4 Hermes 核心功能 2.5 Hermes 与 OpenClaw 对比 2.6 哪些人适合使用Hermes 三、Hermes 桌面版安装过程 3.1 获取安装包 3.2 安装过程 四、Hermes 桌面版配置 4.1 界面基本功能介绍与使用 4.1.1 开启对话 4.1.2 对话框模型选择 4.1.3 技


GO语言变量与数据类型
知恒(Eternal)2026/7/1

Go语言变量与数据类型详解 本篇文章深入讲解Go语言的数据类型体系,包括基本类型、复合类型、类型转换和指针。理解数据类型是编程的基石,本篇将帮助你建立扎实的类型系统认知。 1. 变量基础 1.1 变量的本质 变量是程序运行时存储数据的容器。每个变量都有三个核心属性:名字、类型和值。名字用于在代码中引用变量,类型决定了变量能存储的数据种类和大小,值则是变量当前保存的具体数据。 在Go语言中,变量必须先声明后使用。这是Go语言设计理念的一部分,它要求程序员明确表达意图,减少错误。Go是一种静态类


系统架构设计师-数据库并发控制核心机制
上岸研究员2026/6/22

一、引言 1.1 核心概念定义 并发控制是数据库管理系统为保证多事务并发访问时数据一致性、完整性而实现的核心机制,事务是并发控制的基本逻辑单位,指对数据库进行读写操作的一组不可分割的执行序列。封锁协议是当前关系型数据库实现并发控制的主流技术手段,通过对数据对象施加不同类型的锁、控制锁的申请与释放时机,实现事务间的访问隔离。 1.2 软考考点定位 本知识点属于软考高级系统架构设计师考试大纲中 "数据库架构设计" 模块的核心内容,历年考试中选择题、案例分析题均有涉及,平均占比约 5-8 分,

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 聚合阅读