經歷100多場面試之後,一位面試官給軟體工程師的建議

2021-02-25 大數據文摘

大數據文摘出品

來源:medium

編譯:Fisher

有這麼件事,相當棘手,給人壓力,有點像希臘神話裡赫拉克勒斯面對的12項艱巨考驗——通過考驗就能成為英雄,可是又有點像馬戲團裡的動物跳圈圈,沒啥意思,這個事就是面試。人人都討厭面試,但它是我們職業生涯不可避開的一部分。

當作者帶著幾分天真,第一次勇敢地參加技術面試時,沒過多久,他就覺得要在兩三個小時之內判斷一個軟體工程師的能力,準確程度跟中世紀的刑偵手段也差不多。

但是,他一直好奇,怎麼才能像桌子對面的面試官一樣,了解一個工程師是否適合某個崗位。過去幾年裡,作者作為面試官經歷了100多場軟體工程技術面試,雖然各家公司有各自流程,面試者往往會掉入一些共性的坑。如何避坑?下面是他的誠實建議。

「成功之路與失敗之路幾近相同。」

– Colin R. Davis

何謂「好的軟體工程師」,並沒有唯一的定義。它與崗位的需求有關,與公司的多元性和成熟度有關。一家初創公司無疑是要儘快讓產品進入市場,而一家更成熟的公司,在客戶群增長之後,可能需要面對的是尺度和架構上的挑戰。在理解業務的同時構建產品,這跟解決複雜的技術挑戰不是一回事。一個細節完美主義的工程師和一個快速迭代的工程師也是不同的。你需要知道公司在找什麼人,然後把自己的行為和話語框定在公司的思路裡。不要做一張通吃的簡歷,要根據實際情況進行調整。如果你必須做一個自我推銷(某種程度上,你總是要做一個自我推銷的,不管是否正式),你要展示你將能成為這個公司的有用之才。你應該了解一個崗位為何不可或缺,並問問自己這點能否激勵你,如果能,就接受它。你應該弄清楚在這家公司的語境下「好」是怎麼定義的,然後來展示你的知識、經驗和態度確實符合這個定義。

「在準備工作上的失敗,已經為失敗做了準備。」

- Benjamin Franklin

去面試卻對公司一無所知,就好像去約會卻只談論你自己,不敢說你就沒戲了,但是人家對你印象肯定不會太好。下點功夫了解公司業務,公司的宗旨、使命、戰略和成績。作者表示自己不會因為面試者對此一無所知就把他掛掉,但這點反映出他的動機不足。這也是HR評估面試者的一個標準依據。在業務目標之外,如果公司有技術博客那一定要查看,了解他們的技術棧。面試者並不經常表現出對公司的足夠興趣,但如果他們這麼做,就是脫穎而出的絕佳方式。

「受過教育的頭腦的一個標誌是,能夠審視一個想法而非徑直接受它。」

- Aristotle

在職業生涯中作者曾遇到過傑出的技術專家,這些人個性都不一樣,但至少有一點是他們共同具備的:他們是那種挑戰現狀,使工藝和技術得到改進的人。很多應聘者在被問到是否有問題時,都說沒有要問的。不去提問等於是浪費機會,應該抓住這個時機,問一下公司做出的技術決策和面臨的挑戰,討論一下各項技術的利弊。

例如:

他們是否在考慮轉向HTTP/3了?

他們是否正在轉向事件驅動的微服務架構?他們在使用什麼樣的消息代理?為什麼不使用 Kafka來替代RabbitMQ?

他們使用的是什麼資料庫技術?用例是什麼?在該用例中,ElasticSearch是否是SQL的良好替代品?

等等。對技術決策的問詢將表明,你不僅了解這些技術、可以論證何時該使用這些技術,而且可以批判性地思考,並且你很在乎改進你工作中所用的應用程式。

再多的實驗也不能證明我就是對的,但只要一個實驗就能證明我是錯的。

- Albert Einstein

當前的技術面試不近人情,存在著相當直接的不公,足以令人震驚。大多數面試裡都有跟計算機科學基礎相關的算法問題,比如圖搜索或排序算法。作者聽說過一個傳聞,一個應聘者被要求以最小的資源來實現一個tree transversal算法,所以當他得到這份工作時,首先要做的是調試一個十年前的單片機。經歷過應聘者和面試官的雙重角色之後,作者覺得這種自命不凡的試圖美化我們工作複雜性的做法令人沮喪。這樣的挑戰很可能會讓對這些概念已經因長久不用而生疏的高級開發人員望而卻步,儘管他們可能在這個崗位上擁有極豐富的經驗。

作者同意這類練習並非完全無用;快速解決小問題的能力與解決跨度數天的複雜問題的能力是相關的,但兩者有本質區別。面試過程應該儘可能地反映日常工作的實際情況。他覺得有些方式比刁鑽的算法問題要合適得多,比如在真實的應用程式上尋找和修補bug,結對編程,或者實現一個自動化測試。對於這類場景,面試者一定要對公司選擇的程式語言能得心應手,不要害怕提問,以理解任務的全貌。

不過,在大多數面試裡,你都會面對一些算法或數據結構的問題,這個沒辦法繞過,你得有良好的計算機科學基礎知識。像《Cracking the coding interview》這本書、Leetcode或者Pramp等等都是不錯的參考資源。

無論碰到哪種問題,一定要把你的思路大聲說出來。通常情況下,問題都是層層疊加的,只要你能出色地解決剩下的問題,哪怕是中間有一步失敗了也沒關係。如果你卡住了,面試官會幫助你。對面試官來說,關鍵是看應聘者能否在經歷一個不熟悉的題目後恢復狀態,做好接下來的題目。另外,有經驗的面試官可能會在你解題吃力的時候,由提問題改為教你怎麼做,不要把這種改變理解為失敗,這種情境變化有助於大多數人跳出解題中的困境。

面試官這麼做是為了幫助你,並在幫助的同時評估你,而不是一上來就評判你。把他看成一個正在指導你解決問題的老同事,跟他討論解決問題的不同方案和其間權衡,這將展示你對問題的了解程度。

成功就是爬起來的次數比跌倒的次數多了一次。

- Oliver Goldsmith

作者曾經見過一個應聘者,在面試的時候很是戰戰兢兢,缺乏信心。儘管他缺乏自信,總是懷疑自己,但他問題解決得很好,所以還是被錄用了。但是安頓下來之後,在日常工作中他非常自信,能夠引領討論,在技術課題上指導團隊。後來作者問他,怎麼在面試的時候心態這麼差?他解釋說,他有過一連串災難性的面試,當時面對可能的被拒,心態不是太好。被拒是面試的一部分,不要讓它掌控你。

用幾個小時來評估與軟體工程師相關的全部各項能力,本來就不可能。所以每個面試都會選擇公司關心的能力,用儘可能好的方式來評估。面試官選的可能是你擅長的,也可能不是。

 

糟糕的僱員對公司來說是棘手的,尤其是他們所在團隊的士氣會受影響,同時人力成本也很高。再加上很多公司沒有一個標準化的流程(重要的是比較候選人,所以每個面試官應該給出同樣的題目,同時應該有一個規定流程,每個面試官都走這個流程),你會遇到相當比例的假否定。也就是說,面試結果不好,並不意味著你很差。而是意味著你所表現的能力在那個特定時間裡、特定流程下不是最好的。

作者稱,如果自己面試失敗了,然後讀到或聽到上面的話,肯定也覺得這都是扯淡。在生活中,他一直試圖成為一名拳手。有一些時候,他輸的太多,一個總輸的拳手,充其量就是個沙袋。然而,有時你必須找到內在的力量,把自己從躺倒的廢墟中拖出來。站起來,舉起手來,再打一次,不要讓失敗掌控你。

「工作會填充你生活中的一大部分,要想讓自己真正滿意,唯一的方式就是去做你認為偉大的工作。要做偉大的工作,唯一的方式就是熱愛你所做的事情。如果你還沒找到,那就繼續找,別停下。跟隨自己的本心,在找到的那一刻,你會知道自己找到了。」

- Steve Jobs

當我們在日常生活的困惑和混亂中前進時,我們渴求那些清晰的時刻:在挑戰或任務當中達到完全的忘我,時間彎曲,現實消隱。在這些非凡的超越時刻,好像整個一生都會在不經意間流逝。這就是編程對我們許多人所具有的意義,那是刻在我們內心深處的永恆而堅定的激情。同樣的激情,也是成功的秘訣。

作者見過一些應聘者在面試過程中表現出色,但被錄用之後卻表現平平。他們並不差,他們有天賦,也懂行,但他們的表現只是平平。有時候,你擅長的事情並不是你真正喜愛的,但唯有激情才會促使你成功。要評價一個軟體工程師是否有激情並不容易。但如果他問你做過什麼業餘項目,或者你做過的最好的項目是什麼,你可能會熱烈地討論若干項目,花上整整一個下午。不管你的項目是一個百萬用戶級的平臺,還是一個勉強運行的業餘項目,這都不重要。一個充滿激情的程式設計師會熱情洋溢地描述他用到的每一個方案,完成的每一次挑戰,甚至是每一次搞砸和失敗,帶著喜悅和懷念。然後,任何一個面試官都會知道,對面的人和他一樣,是一個對寫代碼充滿無可救藥的激情的程式設計師,同道中人。

這是一種非常真實的反應,你幾乎可以從他們的眼睛和肢體語言中看出來。要麼充滿激情,要麼沒有。如果你屬於前者,一定要談那些打動你的項目,這將區別一場平淡的面試和一場出色的面試。

作者一直覺得,作為應聘者的壓力就是知道自己需要得到這份工作,需要證明自己足夠優秀。面試官的角色並不是完全沒有壓力,面試官要確定有充分理由認可或者拒絕一個人。這樣,做的決定才經得起審核。對他來說,一直如此,對得起我的良心。

大多數面試官都要在某些時候被別人面試,所以他們是通情達理的。作者希望從面試官的角度幫到大家,真誠地希望這些建議能助你獲得心儀的工作。

 

相關報導:

https://medium.com/swlh/my-advice-after-interviewing-100-software-engineers-e34bc3cbc669

實習/全職編輯記者招聘ing

加入我們,親身體驗一家專業科技媒體採寫的每個細節,在最有前景的行業,和一群遍布全球最優秀的人一起成長。坐標北京·清華東門,在大數據文摘主頁對話頁回復「招聘」了解詳情。簡歷請直接發送至zz@bigdatadigest.cn

相關焦點

  • 面試 100 多位軟體工程師後的建議
    如果你陷入困境,面試官會幫助你的,關鍵是要看到應聘者能不能從一個不太為人所知的問題中恢復過來,並在其他方面做得很好,這才是至關重要的。另外,當你遇到困難時,經驗豐富的面試官可能會從提問轉變為教學,所以不要將這種轉變解讀為失敗;環境的變化有助於疏通大多數人的障礙。記住,面試官既是來幫助你的,也是來評價你的,而不是評判你。
  • 面試官:用100個字介紹你!真正打動面試官的到底是什麼?
    前言:奇葩的面試和程式化的面試在電視劇《誰為愛情買單》中有過這麼一段比較奇葩的面試:面試官:請用100個字介紹一下你自己!王志飛:只用100個字?為什麼?面試官:因為我只有這麼長的時間聽!第二個問題是在單位中,你比別的同事付出要多,但是同事總是搶你的功勞,在領導面前說壞話,你應該怎麼處理?然後我巴拉巴拉說了一通,面試官說:謝謝你的回答!我們會在三個工作日後通知你是否通過錄取!
  • 面試者&面試官,雙向角度的程式設計師面試指南!
    100 多場面試,而且也擔任過 50 多場面試的面試官,我們一起來看一看他從面試者與面試官雙向的角度總結出的面試經驗。面試從提交申請到正式入職,通常我們會經歷 3-5 次面試。首先是HR經理的電話面試,接著還有幾場技術面試。一位求職人員在一家公司的面試中花費的時間平均為 8 個小時左右。
  • 從一個面試官的角度談軟體工程師的面試
    大概從面試官的角度向家分析,心理,標準(每個面試官的標準都不一樣但是都差不太多)等等。年底向大家分享一波之後,方便明年開年找工作或年底換工作更輕鬆一點。二、詳細內容1.簡歷這個部分很多人都容易寫不好,自己也不太在意。現實中恰恰相反,能在自我評價中用短短一段話來表現自己是一個非常不容的事情。
  • 面試後遲遲等不到入職通知,有必要主動聯繫面試官詢問結果嗎?
    有個名為「小雅」的網友問,她面試了一家公司,面試過程中自我感覺良好,面試結束後卻遲遲等不到入職通知,該主動聯繫面試官詢問結果嗎?小雅,回答你的問題前,先講講我的真實經歷。當年我大學畢業後,面試了一家100人左右的公司A,崗位是嵌入式軟體工程師,待遇3000左右。面試那天,公司給我做了份筆試題,由於我準備比較充分,而且難度不大,不到1小時就做出來了。後來來了個面試官,從談話內容估計他就是軟體部的老大。
  • 從60多場技術面試中,我總結了這份面試經驗
    如果你致力於成為一名軟體工程師或數據科學家,技術面試往往是求職過程中的必經流程。近日,軟體工程師兼科技作家 Uduak Obong-Eren 分享了他在 30 天內完成 60 多場技術面試後總結的經驗教訓。如果你是一位希望事業成長的軟體工程師或技術人員,技術面試肯定是必然會面臨的難關,並且往往讓人覺得很難。
  • 職場生存記:面試完該給面試官打電話諮詢結果嗎?
    大家都有求職面試的經歷,但是很多人在面試完之後,心裡沒有底氣,很想知道自己是否被錄用,想問面試官自己的表現如何,但是總是很膽怯;有的人內心其實是已經有了自己的判斷,但是還是想聽一下面試官對自己的評價,但是又害怕被拒絕,讓自己的印象分被扣,所以只能在矛盾中糾結裡等待……
  • 直播丨對話灣區獨角獸公司、Yahoo面試官-對話面試官系列第四場
    我們已成功舉辦上百場求職類講座,包括:一線面試官聊面試講座Director/Manager求職及職場進階師兄師姐面試經驗在線分享線下學員求職私享會 Twitter前Staff Engineer在BitTiger矽谷總部 · 學員私享求職會 不僅如此
  • 面試官「打眼」的經歷
    之前我面試過不少人,不能說練就了「火眼金睛」,但基本上看人「八九不離十」,但最後一次面試卻「打眼」了。 這次「打眼」的經歷於我可能是最後一次,但對外企的其他經理人還是有借鑑意義的。因為現在市場上關於如何面試的培訓很多,因此,我們必須「道高一尺魔高一丈」。 我面試「打眼」是和一位銷售經理的面試有關。
  • 面試官:請用100塊請10萬人吃飯,90後機智回答,面試官心服口服
    二面的面試官陣容比一面要大,其中坐在中間的是未來的直接領導。面試官很乾脆的只問了一個問題「請用100塊請10萬人吃飯」。面試官給了三個人三分鐘思考時間,第一位求職者上來直言不諱地回答「100塊請10萬人吃飯」這個是根本不可能的問題,希望面試官換一道與工作有關的問題。
  • 春節 8 場模擬面試的視頻地址
    除此之外,我和力扣全站排行第一的 Storm 以及我的一位已經工作幾年的朋友 X,一起組織了 8 場模擬面試!話不多說,上 B 站的連結!一、面試官 StormStorm 在力扣(中文版 LeetCode)全站排行第一,算法題能力賊強。過年期間一共進行了 4 場模擬面試。其中一場是年前,我搶先體驗了一把面試者的感覺。1.
  • 一位Java後臺工程師的面試經歷
    一位Java後臺工程師的面試經歷 工程師吳畏 發表於 2018-10-03 16:59:00 經過接近一個月的時間,完成換工作這件「小事」,前後總計面試了多家公司,最後也沒接到幾個offer,不過最終總算塵埃落定
  • 面試結束時問面試官這些問題,一舉驚豔面試官!
    (把那些具體的問題留給招聘經歷吧。)人事經理還是回答招聘程序的最佳人選。一些適合問人事經理的問題:* 你怎樣形容這家公司的企業文化?* 什麼類型的員工能在這家公司有比較好的發展?* 能給我多講講招聘程序嗎?如果你拿到了這份工作,招聘經理很可能就是管理你的人。他們是對職位和職位需求最清楚的人。
  • 面試官:用100字做自我介紹,面試者20秒精彩回答,嚇壞面試官
    面試官:用100字做自我介紹,面試者20秒精彩回答嚇壞面試官面試時自我介紹是個比較重要的環節,要做短短的幾分鐘內清楚地表達出自己想傳遞給面試官的信息,對於面試者來說是個比較大的挑戰。今天小編看到這樣一個視頻,一位面試者在面試過程中,面試官在自我介紹環節對他做出的奇葩要求:用100字介紹自己。而他用簡短的20秒做出回答後,面試官們都被嚇到了小楊是跳槽到這家公司的,因為離家近,因為工資待遇高,因為應聘的崗位是自己想突破的。小楊按照約定來到面試地點後。
  • 成功面試=識破面試官的套路+穩定情緒+做個100分的回答
    ★ ★★面試官第一個套路:請你簡單介紹一下你自己套路分析:你的簡歷現在就在他的手上,你的經歷他一看便知,面試官之所以這麼問,是想直觀地了解你的表達能力。自我介紹是否流暢、完整,表達時是否緊張。千萬不能輸在第一關!
  • 被4位面試官同時面試,該如何應對?
    面試時,如果你發現自己面對的不是「一位」而是「一群」面試官時,你的表現會怎樣? 「第一次見到這陣勢,我有點懵。都沒有敢數面試我的究竟有幾個人,他們盯著我,開始了傳說中的「群面」。他們對我那三個月的空白期咬住不放,像要打破砂鍋問到底。
  • 面試完後,要不要給面試官打電話問面試結果?
    大家經常會有這樣的情況:面試完了之後,有的時候心裡沒底,很想打電話給面試官,問問自己到底表現如何,但是不敢;有的時候心裡其實已經對整場面試效果有了一個預判
  • 面試官:1到100,一共有多少個7?女子巧妙的回答,徵服面試官
    面試官:1到100,一共有多少個7?女子巧妙的回答,徵服面試官面試是一個篩選人才和了解人才的過程,隨著時代的發展,公司需要的人才也變得多樣化了,而面試官為了篩選這些人才,費盡心思想出一些「奇怪」的問題來考驗人才。
  • 4次不同尋常的面試經歷,看似沒希望,卻都被面試官錄取了
    4次不同尋常的面試經歷,看似沒希望,卻都被面試官錄取了!大學還沒畢業的時候,陪上上屆師兄(大學時代偶像,活動能力極強的校學生會領導)去面試一家當地前三的民企大區經理。一位工作人員給我一瓶水,攀談起對企業經營的理解和讀哪些書,有很多共同話題,聊的很開心。
  • 一位硬體工程師的面試經歷分享
    一位硬體工程師的面試經歷分享 工程師吳畏 發表於 2018-10-22 10:29:18 找工作到現在,我拿到的offer一共有6個,按時間順序是華為,36所,阿爾卡特朗訊