E+ 資源與模板
技術面試白板題如何溝通?常用框架句型總整理
2024年11月18日
💡 E+ 資源與模板
本文摘錄自 E+ 專屬資源。E+ 訂閱者可以獲得完整的專屬資源與模板,涵蓋多個求職與技能提升範疇,包括:履歷模板、求職信模板、海外求職手冊和 LeetCode 練習模板等等。
這些資源針對軟體工程師需求設計,能夠有效幫助你應對求職過程中或是加強技術能力。如果你對這些資源感興趣,歡迎加入 E+ 成長計畫,獲取更多專屬內容。
先前 Google 資深主任工程師 Addy Osmani 曾發文分享,他在 Google 十多年的過程中,協助面試無數優秀的候選人,而其中能夠脫穎而出的,不只是有問題解決能力,還要有「展示」問題解決能力的能力。
沒錯,有能力本身是不夠的,你要展示你的能力,不然面試官無從判斷你是否有能力。而要展示自己有問題解決能力,除了正確解出演算法外,需要在過程中有良好溝通。
面試時溝通思考過程很重要
Addy Osmani 談到,在過程中你需要溝通你的思路,意思是你不能只是寫程式碼,還需要進一步解釋程式碼,以及解釋這樣寫的理由。具體來說,你要將思考過程說出來,逐步解釋你的思考流程,以及解釋你如何解決問題。
他同時推薦,最能夠有效溝通思考流程的方式,是先拆解問題,藉此展示你有能力把問題拆解後逐一擊破。拆解完問題,準備提出解決方法時,記得考慮不同的方案,並解釋這些方案的優缺點、取捨點。如果你選了其中某個來實作,也要解釋為什麼要選那一個,其優點在哪。
上面這些讀完,你可能會覺得很有道理,但是該如何有效具體做好溝通?
面試時,如何具體做好溝通?
關於這個問題,我們非常推薦在整個面試的過程中,可以透過一些框架句型,作為銜接讓自己能夠有效溝通自己的思考。
舉例來說,在一場白板題面試最開始,面試官會開場講題目。相信多數人已經知道,這時候不該直接跳下去解題,一定要問釐清問題。以下我們將說明如何透過框架句型,來確保自己有釐清好問題。
技術面試常見的溝通句型
首先,重複面試官講的問題,確認你理解對,這時可以用的句型如下
If I understand correctly, the main challenge lies in overcoming [這邊要說出你對題目的理解], right?
在釐清完問題後,要進一步確認輸入 (input)、輸出 (output),這時可以用
I'd like to ensure I'm on the right track with the output format. Could you please confirm if this example matches your expectations? [這邊要說你對輸入與輸出格式的理解,然後搭配幾個案例]
接著確認限制,這時可以用
Before I start coding, I’d like to go over the constraints one more time. Specifically, are there any limits I should keep in mind?
如果有確認極端案例 (edge caases) 會更加分,可以用
Based on my understanding, [這邊說出你想到的極端案例] seem like potential edge cases. Would you agree?
如果想特別釐清某個點,可以用
I want to make sure I've got this right. When you say the algorithm should [這邊說某個面試官提到的點], does that mean our primary focus is on [這邊說你對該點的理解] over other factors?
上面這些框架句型,就像是你在溝通時的鷹架,有了這些句型,搭配臨場對於題目的理解,就能夠非常有效與面試官溝通。
了解更多
如果你想更深入了解完整的面試過程中,可以運用哪些實用的框架句型,我們在 E+ 中有更詳細的完整版本,從以下每個面試解題階段:
- 釐清問題
- 提出解法
- 撰寫程式
- 卡住時的互動
都包含了實用的銜接句範例。有興趣的讀者,歡迎加入 E+ 成長計畫,獲取完整內容。
💡 E+ 資源與模板
本文摘錄自 E+ 專屬資源。E+ 訂閱者可以獲得完整的專屬資源與模板,涵蓋多個求職與技能提升範疇,包括:履歷模板、求職信模板、海外求職手冊和 LeetCode 練習模板等等。
這些資源針對軟體工程師需求設計,能夠有效幫助你應對求職過程中或是加強技術能力。如果你對這些資源感興趣,歡迎加入 E+ 成長計畫,獲取更多專屬內容。