這一切都從我還在SAP工作的時候開始。幾個同行注意到亞馬遜在耶魯鎮開了一家新辦公室。我記得應該是在2013年1月左右吧。最初我並不是很感興趣,但是當我聽別人說了好幾次之後,我仔細考慮了一下,覺得應該沒什麼壞處。我將在四月底離開SAP,而如果亞馬遜比較合適的話,我可能會去那。這在是我參加帕羅奧圖另外一家公司的面試並拿到offer之前,五月到七月我在這家公司工作
網站上的職位列表很少,所以我申請了在溫哥華的“Web開發工程師”職位,因為我覺得這個職位最為符合我的技能和經驗。當時我並不那麼積極的尋找工作,所以我並不是十分在意,並且很快就忘了。意想不到的是,亞馬遜的一個招聘者在2013年五月24日聯絡我,在29日進行面試。我認真考慮拒絕它,因為我一個新的工作崗位才一個月,並且我也絕對(還)沒有想離開。
如同很多人知道的是,我絕對討厭在電話中交談。首先,我更多是一個傾聽者,並且當我在電話中和陌生人首次說話的時候給人的印象是冷淡或不感興趣。第二,它強行打斷了我的思路。這和是否是預定過要打這個電話無關;電話強制打斷了我的工作,並將我的注意力強制轉換到其他地方。作為一個自由職業者,我可以選擇遮蔽掉所有的環境干擾,而將小的時間片分配給獲取最新的訊息或者和人/客戶交流。第三點,也是最重要的一點,這是一種同步的交流。當我接起電話和某人通話的時候,我不只是在進行代價高昂的思路切換,我必須謹慎的考慮語言、措辭、以及其他一些可能造成誤解的東西。除此之外,我不能對於任何問題給出有深度和謹慎的想法,這將摧毀一切想討論這些問題的企圖。但是在那幾個月,我一直在尋找機會讓自己暴露在更多的社會/人際交往中,所以我決定來試一試。光腳不怕穿鞋的,我在做我喜歡的工作,而這通電話除了讓我有點緊張以外並沒有影響我。
電話面試
我請了一個上午的假(後來又補上了)來進行電話面試。我接起電話,面試官介紹自己是西雅圖的WEB開發工程師。我立馬注意到了印度口音並且開始緊張,因為我意識到我要理解他的話有點難度。他一連串的感謝我接受了面試(差不多5~6個thank yous),這相當以外,但有助於減輕我的焦慮。無論如何,我們開始了面試。我們去collabedit然後他測試了我對於Javascript一些關鍵功能的理解,web元件的設計和應用,一點關於HTTP和伺服器的知識,CSS的理解和運用,以及演算法應用問題。
招聘團隊和您聊得很高興,我們想安排一個時間讓您來亞馬遜進行個人面試。
儘管我回答上了他所有的問題,我仍然覺得我沒有過。因為我感覺我肯定因外國口音和電話訊號不好誤解了什麼東西。我感覺這事已經完了並且作為一個很好的經驗結束了這事。然後在6月11日,我接到了另外一個招聘人員的email,說他們想讓我去現場面試。“奇怪了”我想。基本上我所知的參加亞馬遜面試所有人都是在兩次或者更多電話面試之後才去現場面試的。我當然不會去抱怨少了需要跨過的障礙。仔細的閱讀了email之後,我發現他們想讓我飛到西雅圖參加面試。我很困惑,我以為是在溫哥華?他們說過在那。但是他們還是想讓我飛過去。
包機票路費食宿?好吧我想我有了一天的度假。別忘了護照!噢,護照…讓我看一眼。我的護照還有3天就過期了。我立馬通知了招聘人員,並且開始了護照更新過程。在3個星期之後,我終於拿到了我的新護照。我把現場面試定在了七月8號,週一,大概在週日中午到。
週日到了,我也到了西雅圖,因為我的全職工作、兼職和夜校,我沒有時間準備面試。我決定到周圍走走,搞清楚怎麼過去面試的地方(這一片亞馬遜有7個建築),並且稍微轉轉。回到旅店後,我很早就去睡覺了,這樣讓我可以好好休息。不幸的是,我整晚沒睡著。酒店的好床,或者沒有像往常一樣做兼職做到很晚讓我沒有休息好。
面試1:
我的第一個面試是在上午10:15,而從酒店出發步行需要20分鐘(注意亞馬遜報銷面試花費,包括機票錢和到面試地點所需的的士錢)。我在9:35出發,並且提前20分鐘報導,簽了保密協議(就是說我不能公開這個職位的面試題目,只是一個大致介紹),然後坐著平靜我的緊張情緒。對於是否能得到這個職位我並不是很緊張,至少不如和陌生人一起坐在一個小房間裡,在一個巨大的白板上寫程式碼來的緊張。第一個面試官突然換了,所以他花了點時間來接待我。隨即坐下,我被問的問題是亞馬遜銷售網站的元件。這是一個團隊已經解決了的演算法問題,並且在前端。我用Javascript寫出了演算法。
面試2:
下一個面試官帶我吃了午飯。他介紹自己是團隊中的開發者,但因為前一個管理人員剛走,暫時頂替了管理職位。對於吃飯我倒是沒有什麼特別的偏好,於是他帶我到當地的一個三明治店。我點了雞肉巧巴達(譯註:ciabatta 巧巴達 一種義大利麵包),他用公司的信用卡付了帳。他問我是否是在為西雅圖的職位進行面試,然後對於我的職位在溫哥華卻飛來西雅圖面試似乎很困惑。我被問了很多關於我之前遇到過的技術經驗、技術挑戰,讓我闡述一些我應用的其他有趣的解決方案,以及討論和其他方案相比的得失。我們討論的很不錯,但是回答他的問題讓我沒時間吃飯,於是他給我10分鐘讓我吃完同時他回答了我的幾個問題。
面試3:
這次面試不涉及寫程式碼。面試官是亞馬遜主團隊的管理者。他給了我一個演算法問題(同樣跟亞馬遜自己有關),然後我相當快地給出了答案,但是他注意到我仍然在深入思考。我解釋了這是我能想到的最好解決方法,但是我感覺有更好的方法來做。我們過了一遍所有的細節,討論了和另外一種演算法之間的得失,結論是我的方法沒法更有效率了。我還被問了一個亞馬遜行為性的具體問題。
面試4:
這個面試我有兩個面試官;其中的一個一隻如影隨形,好像他是才到這個公司的。他測試了我對於不同瀏覽器處理HTML/CSS各種東西的理解,然後他給我了一個即將推出的新版本的截圖,讓我用HTML/CSS寫出整個頁面。
面試5:
在這我碰到了電話面試的面試官。他讓我解釋Javascript兩種實現的不同,以及它們的用例。我同樣用HTML/CSS/JS寫了一個網頁元件,注意到了模組化的程式碼。他然後測試了我對於瀏覽器如何處理DOM的低層次的理解,並且使用scratch實現。在那時我已經很累了,並且對於他的口音有一些理解問題,但是我覺得我做的還可以。
面試6:
當我在星期三給你發offer的時候…
最後一個面試是和溫哥華的首要招聘者(顯然的,他從溫哥華飛到西雅圖來面試我,而我這個候選人在溫哥華,必須飛到西雅圖參加面試…)。他問我在這麼長的一天後有沒有累,然後數出了7次面試。我只記得6個,但是他有一個官方列表所以我覺得就是7個。或許他是說的是面試官。他提到了我得到了很好的評價,他們很期待能夠我能夠更進一步。然後他花了剩下的35~40分鐘在白板上解釋了這個職位的待遇細節,包括簽約獎金、股票、績效獎金,我如何選擇用股票和現金來兌現這些獎勵,以及分別的好處,基本工資等。他說了好幾次“當我週三給你發offer的時候你會看見___”。然後他和我一起走出房間,並跟我說溫哥華的團隊有各式各樣的人,牛人也很多,有多麼像新興公司,我會喜歡上的云云。然後他說:“你接受了這個offer之後,我們會讓你在3個星期後飛回這來進行一些培訓,因為溫哥華的辦公室還很小,而本週我們沒招到幾個人。”
在沒有聽到他的嘮叨之後,我給他發email以跟進。我沒有收到回覆所有我又發了兩次,但還是沒有回覆。數月過後,他還是沒有回覆我,也沒有offer或者回絕信。我想這事畢竟還沒辦完。
在沒有得到首要招聘者的回覆,以及讓我到西雅圖面試溫哥華職位的奇怪邏輯,讓所有面試官茫然的同時,面試本身也是很有意思的。現場的每個面試都測試了一個在這個職位上成功所需的特定的技能/主題,以確保這些方面的知識中沒有顯著的差距。我需要說的是,這是我經歷過的前端職位上最好的面試之一,能夠知道候選人知識和經驗的全貌。