你曾經在應聘乙份程式設計工作的面試中被問及一些解謎類的問題嗎?我反正碰到過。我被問到的那個問題是:
你最喜歡的那個牌子的蘇打,有多少是在本省被消費的?
拜託,正確的答案不能是「關我什麼事」,除非你不想得到這份工作了。我當時對這個問題毫無頭緒,後來才知道這是乙個「費公尺問題」(fermi question)。
譯者注:恩里科·費公尺(
enrico fermi
),美籍義大利裔物理學家,曾經榮獲
1938
年的諾貝爾物理學獎。他能夠通過非常少量或者不精確的資料,來得到比較好的估計,費公尺問題或費公尺估算因此得名。乙個經典的費公尺問題的例子是,「在芝加哥有多少位鋼琴調琴師?」
謎題作為一種新生事物,在2023年代的程式設計師面試裡風靡一時。這在《how would youmove mount fuji?》(如何移動富士山?)一書中有很好的記載,書中還強調微軟公司在招聘過程中就使用了謎題。
如果你已經知道你將去應聘的公司會問這類謎題,預先研究一下常見的面試謎題是很明智的。如果你覺得你已經對一般的謎題很在行了,那我就要來考驗你一下,看看下面這道史上最難的面試謎題吧:
這裡省略n字...... 這裡有很多謎題:
換句話說,我討厭謎題!(但願那些謎題狂熱者們都能解答出來……)意料之中,我沒有通過那次面試。我當時很失望,因為那份工作還是挺酷的!
倒不是說我在「與程式設計師面談」一節裡給出的建議會更受歡迎,但我確實認為那要好得多!
在前一節,我給大家介紹了一種我自創的方法,那也是面試程式設計師最理想的方式:讓候選人在你的團隊面前就他們做過的某樣東西做10分鐘閒聊式的演講。你當然還可以用一些實際的需要動手的程式設計測試來作為補充,以確保那位候選人不是在招搖撞騙——儘管我堅信,如果你不是真的理解你正在談論的東西的話,你是不可能在乙個技術性演講裡糊弄一群同仁的。(如果你真能這麼糊弄,你現在應該已經成為一家創業公司的ceo了!)
我在這裡要強調的是溝通能力。對於大部分程式設計師來說,在他們通過了「fizz-buzz」級別的能力測試之後,他們看起來已經相當不錯了。但只會寫**還不夠。如果想從優秀發展到卓越,你必須培養起有效溝通的能力:與你的同事溝通,與你的老闆溝通,與使用者溝通,最終與全世界溝通。
因為我們第乙個小孩的出生,我和我的妻子在一家醫院裡待了5天。在住院期間,我們受到了很多名**的協助——每天至少兩名不同的**,有時還會更多,因為我們要去不同的科室就診,而且**每天還有換班。這家醫院的護理質量總體來說是相當高的,但我們也為從最差的**那裡和最好的**那裡分別得到的護理之間的差距倍感困惑。幾天之後,我終於發現了乙個共性——最差**的溝通能力必定最差的!這些**無法跟我們進行有效的溝通,比如:
這讓我們覺得,她們都是些死板的、只知道照章辦事的人,她們不會照顧人,或者她們沒有主見(必須不斷地請示上級)。當然,事實不是這樣的。我相信,她們都是完全合格的專業**。但在必要的溝通缺失的時候,她們確實看起來很糟糕!我還得說句公道話,這些**常常(也不總是)不是本地人(她們的母語不是英語)。
即使在最佳的條件下,招聘也不是件易事!但如果讓面試流程太過依賴於謎題就太冒險了。當然,程式設計師們最終可能把你扔給他們的蹩腳謎題解決了(我猜他們也許只是記住了答案)。但是,把那些解決方案有效地解釋給團隊中的其他人聽,難道這不同樣重要嗎?對於很多程式設計師來說,那是謎題中最難的部分。
程式設計師要注重溝通能力的提公升
你曾經在應聘乙份程式設計工作的面試中被問及一些解謎類的問題嗎?我反正碰到過。我被問到的那個問題是 你最喜歡的那個牌子的蘇打,有多少是在本省被消費的?拜託,正確的答案不能是 關我什麼事 除非你不想得到這份工作了。我當時對這個問題毫無頭緒,後來才知道這是乙個 費公尺問題 fermi question 譯...
程式設計師的溝通能力測試
最近一兩年裡高階技術人員嚴重短缺。經常有作獵頭的朋友,讓我幫忙看看有什麼推薦人選。看看他們發過來的jd,一般除了要求精通技術外,還得擅長溝通 中英文 看完之後往往無奈,這樣的人一是很少 二是如果有,在國內的體制下通常都是很快就進入管理層了,還願意再從頭做起。溝通能力對於職業人非常重要,對程式設計師也...
程式設計師溝通能力的重要性
這是我這段時間工作的一些感悟。功能需求工作上遇到的一些問題。乙個專案的開發,包括前期的功能需求調查 功能需求的確定 功能需求分析。接著是軟體功能設計階段,包括軟體功能架構設計,軟體功能資料庫設計,軟體功能 設計,軟體功能除錯設計,最後是軟體功能的測試。在整個軟體正各開發過程,功能需求調查,功能需求分...