天天看點

面試與應聘

  畢業幾年,我自己去應聘過程式員,也面試過應屆畢業生。對于怎麼去面試和招聘,我不覺得我優秀到可以對别人指點,是以,我不能給出意見,這裡隻談談我個人的心得體會。僅隻是個人感概。

  有個面試官提出過以下觀點:

  • 隻有應聘者真實和自然的表現,才能了解到最真實的東西
  • 重要的不是知識,重要的是其查找知識的能力
  • 重要的不是那個解題的答案,而是解題的思路和方法

  在我與招聘進來的新同僚打交道的過程中,對以上觀點 深以為然。

  程式員這份工作,你總是無法說你掌握了很多的技術。因為,人會學習也會遺忘,而技術又在不斷進步,總會有人會寫出性能更強擴充更棒的代碼,讓你見獵心喜恨不得自己也會用上。但是研究得稍稍知道怎麼實作的時候,由于實際中用不上這樣的技術,又會被舍棄到了一邊。

  而很多時候,在真正的工作中,提出來的需求,需要使用的技術,怎麼可能那麼湊巧就是你會的呢?是以,工程師 必須要有查找知識的能力,有對應的解題思路,尋找出解決問題的方法。至少,對于程式來說,我們要看了官方文檔就有能簡單使用的能力,打散重組代碼 實作所需要的功能。

  在不懂程式的人問我我的工作性質的時候,我都會如此形容:軟體工程就像建築工程。有人在發明 鋼筋、水泥、磚塊,有人在畫設計圖,有人在 砌牆,有人在評估成果尋找毛病。如同建築一般,各有分工。我們的追求都是創造最優質的材料,使用低廉的成本,做出最美觀大方受追捧的成果。

  而,我不是創造者,目前隻是一個在我擁有的材料基礎上,砌牆罷了。與建築不同的是,一個人砌一面牆的速度可能在于這個人技術的熟練度,差别顯著。在别人砌了一半的牆上接着砌牆 的任務對于程式員來說,非常苦惱。如果前一個人的地基打的很好,那麼還好,也許還能繼續砌上去。如果不好,那就是一場疲勞戰啊。大多數最終的辦法都是 推到重來啊。是以,不是幾個初級程式員就能頂一個優秀的程式員的工作問題。

  很多同僚都開玩笑的說,我們的工作沒有什麼技術含量啦,大部分的時候就是複制粘貼,修修補補,在原有的基礎上改改啦。但是,我個人覺得,在需要的時候,你知道到哪裡去複制粘貼,你知道在哪個位置去改才能達到目的,這本身就是價值。

  是以,在面試别人的時候,我有時也會按照自己的想法去面試。

  首先,我會考察一下他的操作,問一下基本知識。當然這些知識,如果有筆試題,也是可以看出來的。這是未來交流的基本保障,所有的人都認同的基本準則。就如同,學習漢語,你需要了解常用的交流語句,這是必須的。而遇到生僻的字 ,你需要學會使用字典,去查。我隻要面試者了解這基本知識,懂得去查字典的方法 就好。

  其次,我會考察一下知識,問一些有點難度的問題。考察一下面試者了解知識的深度。因為背會了文法,我們可以拼出一段文字,卻寫不出 錦繡文章。

  再次,我會考察一下他的動手能力,問一些實際操作過程中的可能出了的問題,他會用什麼樣的方法去解決。

  最後,我會考察一下他面對技術的态度。問一下他個人的自學情況、知識面的廣度等等,去了解一下這個人的态度/性格/行事風格,這樣如果真的成了同僚,這裡還是未來共事的重點。我們也不希望自己的同僚是個不能解決難題的人,或者性格不太好相處的人。

  我是一個面試官時,我問應聘者的問題并沒有什麼特别标準的答案。與其說我看中他的技術優秀程度,不如說,我更期待尋找一個可以共事的同伴。

  而作為應聘者的我都不一定能讓作為面試官的我聽到滿意的答案。但面試别人的時候,有的時候聽到應聘者的一些答案也會有種醍醐灌頂。

繼續閱讀