所以,你即將參加一場演算法程式設計面試……你一定知道那些標準建議:邊想邊說、寫程式時也要講出來,而且一開始先別急著優化。
但實際上那到底要怎麼做?而且當時間很緊時,又該如何有效準備?

準備

我一開始是不是該直接狂刷 LeetCode 題目?
但那種做法讓我感覺像是直接跳進深水區,只會把我的信心整個打碎。
如果你在面試還沒開始前就先覺得自己不行,面試通常也不會順利!

所以我改從簡單的 AI 生成練習開始,並且逐步增加難度。ChatGPT 在這方面真的很好用。
我把目標訂在每天 2 到 3 題,視難度而定。結果這是一個非常棒的方法
我能明顯感受到自己每解一題就更進步一點,以舒服的節奏學習,而不是覺得被壓垮。

每做一題,我都會試著找出讓我沒辦法順利解題的具體卡點:

  • 還沒完全理解題目就急著寫程式
  • 一次寫太多程式碼,卻沒有先測試
  • 解到一半開始懷疑自己
  • 出現 bug 時感到尷尬,然後學著優雅地恢復狀態

我甚至還在幾次練習時錄下自己,回放影片來檢視自己的節奏、講解方式,以及整體表現。

建立節奏

透過這個過程,我找到了一套能讓我保持穩定的作法:

  • 先釐清假設: 一開始就把所有假設寫下來。
  • 確認環境設定: 先建立一個假的函式,輸出測試結果,確認一切都能正常運作。
  • 手動追蹤演算法: 針對範例輸入一步一步走過,找出每一輪迭代需要的所有變數。
  • 把卡住的地方講出來: 如果卡住了,就大聲說出我想解決的是什麼(例如:「這裡需要旗標嗎?需要累計總和嗎?這是以每個群組追蹤,還是跨所有群組一起追蹤?」)。
  • 驗證邏輯: 再把範例輸入走一次,確認變數有正確設定、重設或累積。持續追蹤,直到手動步驟能得到預期結果。
  • 開始寫程式: 只有在邏輯確認無誤後才開始寫 code——這樣可以避免被語法卡住,卻還在解題的狀態。
  • 展現你的心智模型: 到這個階段,面試官已經能清楚看到你的思考過程,因為偽程式碼和變數狀態追蹤都已經顯示在螢幕上了。
  • 逐步測試: 盡早且頻繁地加入除錯輸出,及時監控關鍵資料結構的即時狀態。
  • 善用簡單除錯: 不要排斥使用簡單的 print 除錯。及早抓到 bug,可以避免之後冒出意外輸出,進而打亂你的節奏。
  • bug 出現時保持冷靜: 如果出現了意料之外的輸出,把它當成你在平常工作日處理的一張一般工單。把它視為日常工作,有助於穩住你的情緒。

你呢?

如果你也正在準備面試,希望這些對你有幫助!你的技巧是什麼呢?歡迎留言分享 :)


原文出處:https://dev.to/cathylai/how-i-finally-learnt-to-solve-coding-interview-questions-2cop


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝56   💬1  
750
🥈
NewsData
2
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登