白板面试:考察什么、如何准备
作者 Aaron Cao · 更新于

白板面试要求你在白板上通过画图和书写来解决问题,可能是办公室里的实体白板,也可能是 Miro 或 Excalidraw 这样的虚拟白板,全程没有编译器可用。面试官评估的是你如何拆解问题、解释权衡取舍并纠正错误,而不是代码语法是否工整。
白板面试会考什么?
白板不是单一类型的面试环节,而是一种呈现方式,会出现在好几个场景里:
- 手写代码。手写一道算法题,没有办法运行代码。
- 系统设计。画出服务、数据存储和队列的方框与箭头,然后为你的设计做解释。
- 设计挑战。产品或 UX 设计师根据一份简短的需求描绘出一个流程。
- 框架与案例分析。咨询和产品岗位为一个商业问题搭建结构。
在办公室里,你用马克笔在实体白板上写。在远程面试中,你会共享一个虚拟白板,比如 Miro、Excalidraw 或 FigJam,又或者 Zoom 或 Microsoft Teams 自带的白板功能。共享代码编辑器里的环节是另一种形式,详见实时编程面试页面。
白板和在编辑器里写代码有什么不同?
如果你习惯了 IDE,失去自动补全、编译器和撤销键可能感觉像失去了一半的工具。这一节会讲清楚用什么来代替它们。简单来说,白板奖励的是提前规划:动笔之前先写出一个示例和结构,因为擦掉重写既费时间又占空间。
- 规划布局。留一块区域放示例和约束条件,一块放思路,一块放代码或图示。
- 从示例开始。在写出解法之前,先画一个小输入和对应的期望输出。
- 写得紧凑。只要你说清楚变量的含义,用简短的变量名也没问题。
- 通过走查来测试。大声把示例代入你的答案走一遍,发现问题就修正。
尽早问清楚是否可以写伪代码。许多面试官在讲思路阶段接受伪代码,但对于最终答案,通常希望你用指定的语言写出真正的语法。
如何为白板环节做练习?
一位应届毕业生在准备一家硬件公司的现场面试时,在家里用一块小白板练习。第一次尝试,他从左上角开始写代码,写到一半就没地方了,连他需要用来定位 bug 的示例都画不下。第二次尝试,他把白板分成三栏,先画出输入,口头讲了一遍暴力解法的思路,然后写出更优的版本,并把示例代入走查了一遍,自己发现了一个差一错误。
对于虚拟白板,要在邀请邮件里写明的那个工具中练习。学会快速添加方框、连接线和文字,并提前测试好你的鼠标或绘图板。为了练习口头表达这部分,模拟面试工具会大声提问并追问你的回答,让你习惯一边解释一边被人追问。
AI 助手能在白板面试中帮忙吗?
在办公室里,不能:只有你、一支马克笔和面试官。在远程通话中,你在共享白板上画的一切都会被面试官实时看到,而且必须是你自己的思路。
SubcueAI 负责视频面试中围绕白板展开的那部分对话。它会转写面试官说的话,并在本地悬浮窗里起草回答要点,来自 macOS 或 Windows 上的桌面应用,或者 Chrome、Edge 上的浏览器扩展,不会有任何机器人加入通话。它不会替你画图,你屏幕共享的一切都是可见的。其他形式的指南,比如群面、结对编程和带回家的作业型面试,可以在面试类型汇总里找到。