ホワイトボード面接で問われること、その対策
文責 Aaron Cao · 更新

ホワイトボード面接では、オフィスにある実物のボード、あるいは Miro や Excalidraw のような仮想ボードに図やコードを描いて問題を解くことが求められ、コンパイラは使えません。面接官が見ているのは、問題をどう構造化し、トレードオフをどう説明し、ミスをどう修正するかであり、洗練された構文ではありません。
ホワイトボード面接では何が行われますか?
ホワイトボードは単一のラウンド形式ではなく、あくまで一つの手段です。いくつかの場面で登場します:
- ボード上でのコーディング。実行する手段のないまま、手書きで解くアルゴリズム問題。
- システム設計。サービス、データストア、キューを表す四角と矢印を描き、それについて説明する。
- デザイン課題。プロダクトデザイナーや UX デザイナーが、短いブリーフからフローを描き出す。
- フレームワークとケース。コンサルティングやプロダクト職が、ビジネス課題の構造を組み立てる。
オフィスでは実物のボードにマーカーを使って書きます。リモートのループでは、Miro、Excalidraw、FigJam のような仮想ホワイトボード、あるいは Zoom や Microsoft Teams に内蔵されたホワイトボード機能を共有します。共有コードエディタでのラウンドは別の形式で、ライブコーディング面接のページで扱っています。
ホワイトボードはエディタでのコーディングとどう違いますか?
IDE に慣れていると、オートコンプリート、コンパイラ、取り消しキーを失うことはツールの半分を失うように感じられるかもしれません。このセクションでは、それらの代わりに何があるかを説明します。要するに、ホワイトボードは計画性を評価します。消して書き直すのは時間もスペースも消費するため、書き始める前に例と構造を用意しておく必要があります。
- レイアウトを計画する。例と制約用、方針用、コードや図用に、それぞれ一つの領域を確保しましょう。
- 例から始める。解答の前に、小さな入力と期待される出力を描きましょう。
- 簡潔に書く。意味を説明できるなら、短い変数名でも問題ありません。
- トレースしてテストする。例を自分の解答に沿って声に出して確認し、崩れる部分を直しましょう。
擬似コードが許容されるかどうかを早めに確認しましょう。多くの面接官はアプローチの説明には擬似コードを認めますが、最終的な解答では指定した言語での本物の構文を期待します。
ホワイトボードラウンドの対策はどうすればよいですか?
あるハードウェア企業の対面ループに向けて準備していた新卒者が、自宅の小さなボードで練習しました。最初の試みでは左上の隅からコーディングを始め、途中でスペースが足りなくなり、バグを見つけるために必要な例を描く場所がありませんでした。二回目の試みでは、ボードを三つの列に分け、先に入力を描き、ブルートフォースの考え方を口頭で説明してから、より良いバージョンを書き、その例を解答に沿ってトレースして、自力でオフバイワンエラーを見つけました。
仮想ボードについては、招待状に書かれているツールそのもので練習しましょう。四角形、コネクタ、テキストをすばやく追加する方法を覚え、マウスや描画タブレットを事前にテストしておきましょう。話す部分を練習するには、模擬面接ツールが声に出して質問し、あなたの回答に追加の質問をしてくれるので、誰かに突っ込まれながら説明することに慣れられます。
AI アシスタントはホワイトボード面接で役に立ちますか?
オフィスでは無理です。そこにいるのはあなたとマーカーと面接官だけです。リモート通話では、共有ホワイトボードに描いたものはすべて面接官にリアルタイムで見えているため、それは自分自身の思考でなければなりません。
SubcueAI は、ビデオ面接でボードを取り巻く会話部分に対応します。面接官の発言を文字起こしし、ローカルのオーバーレイに回答のポイントを下書きします。macOS や Windows のデスクトップアプリ、あるいは Chrome や Edge のブラウザ拡張機能から利用でき、通話に参加するボットは一切ありません。図を代わりに描くことはなく、画面共有しているものはすべて見えています。パネル、ペアプログラミング、持ち帰り課題といった他の形式のガイドは、面接形式のハブにあります。