劍指 Offer

🧭 解題總則

🎯 什麼情境該想到我

當你在準備/進行技術面試的程式題,想把「解題過程」表現好(而不只是湊出答案)時。

⚙️ 怎麼用(拿到題別急著寫)

  1. 先釐清思路:畫圖(形象化)、舉具體例子(具體化)、把大問題分解(簡單化)。
  2. 確認需求與邊界:問清楚輸入範圍、特殊情況(空、極值、非法輸入),先講你會怎麼處理。
  3. 講出你的方案再寫:先口述做法與複雜度,得到面試官認可再動手。
  4. 寫乾淨的程式碼:命名清楚、處理邊界(見 工具-防禦式編程)。
  5. 分析複雜度並嘗試優化:說出時間/空間,思考有沒有更優解(見 工具-演算法設計策略)。
  6. 測試:用你舉的例子 + 邊界案例走一遍。

🧪 我實際套用的紀錄

  • 2026-07-15:(待填)

⚠️ 注意

  • 沉默寫題是大忌;面試考的是思考過程與溝通,全程 think aloud。

🔗 相關工具

「不要一拿到題目就開始寫程式,先想清楚再動手。」

🔍 三招釐清思路

畫圖 讓抽象問題形象化

舉例 用具體例子讓抽象問題具體化

分解 讓複雜問題簡單化

✅ 程式碼品質

邊界條件 首尾、長度 0/1、越界

特殊輸入 空值、極值、非法輸入

錯誤處理 明確定義失敗時的行為

⚡ 複雜度與優化

主動分析複雜度 講出時間/空間成本,不等面試官問

嘗試更優解 從能動的解往更低複雜度推進

💬 面試溝通

溝通勝於沉默 邊想邊講,讓面試官看到你的思路

講出取捨 說明為何選這個做法、放棄了什麼