怎樣花兩月時間去應聘網際網路公司

發表於2011-11-24

找工作也快兩月了,感受頗多,最近看了一篇《怎樣花兩年時間去面試一個人》的部落格,很有感觸,將自己的想法寫出來。

在找工作的兩月中,自己從四大門戶:新浪、搜狐、網易、騰訊到業界領先的百度,搜狗、淘寶以及行業巨頭的微軟;從幾個人創業的阿甘網到幾十個人美麗說、 友錄、微遊半創業公司;從做瀏覽器的opera到石油裝置的哈里伯頓、斯倫貝謝到諮詢的ThoughtWorks再到做遊戲的金山網遊,如果加上一些想不 起的公司名,面試有二三十家,再加上一倍以上的筆試。北京帶“網”字的公司幾乎被過了一圈。

從這一圈的經驗,通過現在網際網路公司招聘的漏洞,總結出一些可以在兩月的時間內得到一家頂級網際網路公司的offer的經驗。

簡單來說,成功100分的話,得分組成比例可以如下:1、50分的演算法和C語言,2、15分的專案分,3、15分的知識面和扯淡分,4、10分的開發語言細節分,5、5分的其他。

首先很贊同文首部落格中的觀點,在短短的幾輪面試以及校園招聘意義不大的一輪筆試,想選取一個人是很困難的,而且還很容易漏掉一些有實力的人,我敢保證連 IDE都沒啟動過而進入頂級網際網路公司的同學不在少數,不是懷疑這些同學的能力,只是說招這些同學對公司來說是一個極大的風險,紙上的程式永遠不能變成產 品,而且紙上寫程式發現不了真正的問題,我加入的一些技術群中,一些我仰慕公司的員工不懂得求助百度,只會一有問題就擺到群上,讓人作答,甚至有些工作相 當時間的人不懂得如何斷點除錯。好了,切入正題

50分的演算法和C語言題:假入你這兩個比較好(非超牛),那麼你就有50%以上的機會進入心儀的互聯 網公司,現在的校園招聘筆試和麵試,不分公司和部門都是一窩蜂的考這兩項,其實對於應屆生來說,沒有履歷,沒有工作對口方向知識的積累,而用人單位為了省 事,經常就一套題,所以有不少想做前端的同學去忍受C指標和演算法的折磨。

假如您的C語言不好,問題不大,翻出譚浩強的那個工科生必修的C教材,看了兩個禮拜足夠。

假如您的演算法不好,沒關係,現在的校園招聘演算法題都是照抄生搬,從我筆試和麵試題的重複度來看,八成以上的演算法題能被找到原題,大家只要翻翻某典和某美就夠了,再做做百度上能搜出的演算法筆試題的第一頁題目就夠用了。

個人對這種東西不感冒甚至有點牴觸,一直鄙視中國應試教育的用人單位如今變成的應試招聘,本人在找工作極其不順的10月,多人建議看某美和某典,但是我看 完的三本書是《浪潮之巔》,《資料之美》和《RESTful入門》。這些演算法題其實難度也不大,要是大家都沒看過,也無所謂,但是在大多數人看過的時候, 你就喪失了競爭公平性,好多這種題第一次想在很短時間內正確完成還是有困難。個人經驗,這類題集中一下幾個方面:

排序,知道各種排序的時間和複雜度,能寫出快排,堆排以及計數排序的程式碼且知道什麼時候用哪種即可。

連結串列:知道構建動態連結串列,刪除節點,翻轉連結串列,兩兩翻轉,求環節點,求兩連結串列交點足夠。

字串:知道高效翻轉,迴文足夠,如果還能完整的寫出KMP查詢就基本完美。

樹:知道二叉樹的三種遞迴遍歷,非遞迴遍歷,查詢,知道兩種遍歷求第三種,再深一點,知道如何分層遍歷,如何求兩節點距離,就通吃了。

其它:佇列、棧、雜湊表的特性,動態規劃。

只要上邊的只是準備的差不多,演算法的筆試和麵試題問題就不大了。本人的本科和研究生都是機械,沒學過這些東西,從9月17的第一場微軟筆試開始,邊考邊學,就靠這點東西闖筆試和過面試。

15分的專案分:如果你沒有什麼專案,但是你的1很好,那你這部分分基本拿到了,其實這部分很容易作假,一個專案你只是打醬油的,但是你做過了解,說出個大概就夠了。

本人有10幾個玩具似的小網站,有一頁半簡歷,那些面試官一看就煩,除了百度問了一個感興趣的專案,其它的都是說挑一個說,這就很簡單,憑看的一些東西,我甚至可以說G公司的BigTable是我做的,面試官也不一定懂您的專案。

15分的知識面和扯淡分:這方面不太好提高,根據面試官和應聘職位可能不同,最好是事先取經。本人被問 過:PageRank,搜尋引擎倒正排索引,資料庫優化,web效能優化,瀏覽器渲染,web安全,爬蟲,設計模式,軟體架構,推薦系統,加密演算法,服務 器推等等。一般來說公司不會根據這部分斃人,而且問的東西基本都能扯。但是有些公司會根據這部分斃人。

10分的開發語言細節分:根據個人擅長的語言,可能會問一些細節問題,來考察一個人對語言的掌握程度以及學習態度。比如C的指標函式、函式指標,高階語言的值型別,引用型別,值傳參和引用傳參,託管語言的GC等等。

5分的其他:主要是溝通能力,印象以及有些公司要求的英語。

個人認為如果上邊說的你準備差不多了,那麼你就有很大可能進入一個頂級網際網路公司

舉個人三個例子:

1 .碰巧你霸面被批准了,碰巧你看過搜尋引擎中爬蟲如何爬取和分析正文,碰巧你瞭解過AJAX,碰巧你知道MVC,那麼你過一面了,碰巧你會堆排序,碰巧你 會兩個連結串列求交,那麼你過二面了,碰巧你的C語言能寫出程式,那麼你會把這個不復雜但程式碼有點多程式寫出來,碰巧你有一點重構的概念,把你醜陋的程式碼改的 優雅漂亮些,那麼你有一個17W的offer了。

2.碰巧筆試後備胎中的你得到了面試機會。碰巧你做的一個專案很合面試官的口味,碰巧你知道web常見的安全漏洞,碰巧你寫過兩個連結串列求教,那麼你過一面 了,碰巧你準備上述的2,碰巧你能寫出堆排和知道ORM,碰巧你能做出簡單的連結串列翻轉,那麼你過二面了。碰巧你準備上述的2,碰巧你瞭解過WEB服務,碰 巧你知道ORM,碰巧你知道什麼時候用堆排,而且碰巧會基數排序,那麼你有一個19W的offer了。

3. 碰巧筆試後備胎中的你得到了面試機會。碰巧你知道MVC,碰巧你瞭解過一些CSS和JS基本知識,碰巧你瞭解過瀏覽器渲染而且用這個解釋一個網站的載入順 序,碰巧你學過web效能擴充,那麼你過一面了。碰巧你對web效能優化比較瞭解,知道pagerank,碰巧你看過大型站點的架構並能說出個大概,那麼 你有一個20W的offer了。

拿到許多網際網路公司的offer後,我發現難度最大的是一個創業公司的。對於招聘如此不嚴謹的企業,我不僅有點擔心,若企業招的少無所謂,招的多話,若 不能和聘用者解除勞動關係,那麼招聘上風險不亞於一個重大專案的風險,好的方面是招人多的企業總是有一些沒技術含量的活需要大量的人來幹。

以我個人觀點,站在企業角度,如何避免那種魚目混珠的碰巧學生進入重要崗位,還有如何保證一些優秀的學生不被校招的海選錯過,我會選擇一下招聘流程。
筆試。但是筆試題不會再抄什麼寶典和什麼之類。此外筆試題不在一鍋端,招聘的部門和崗位都有差別,筆試為什麼不能有差別,可以多花些時間可以根據 公司用到的語言以及不同崗位多出幾套題,對大多數研究生來說,由於專案或者興趣會去鑽研不同高階語言。分題到的話就不會出現PHP程式設計師做C++,前端程 序員做演算法的局面。

電面。筆試的通過分適當低些,讓更多學生進入下輪,第二輪該是電面,這輪主要是瞭解學生的簡歷是不是注水,而不是考察能力,我有幸看過一些同學簡 歷,上面的精通的部分讓我再修煉10年也達不到,這類牛人確實存在,但對於絕大多數學生這樣的寫法是注水的,這輪電面斃掉注水的牛人。

Hr面。個人認為hr面是應該的,這輪主要去斃掉練手沒誠意的同學以及性格不符合公司的同學。大多公司會把這個放在最後,但是花費技術人員寶貴的時間後再讓hr斃掉一個人確實代價太大。

大作業,hr面通過後,給出兩天時間讓通過學生完成一個大作業,主要是考驗是否用過IDE和變知識為產品的能力,還有對待問題的態度。這個作業上交後,一定要讓學生現場除錯,優化,小改動後讓學生現場改程式,從而揪出那些讓他人代勞的同學以及判斷debug的能力。

技術面,一般覺得三到四輪比較合適,若是一對一單面,杜絕一面定生死,最後綜合給分。因為單面的話,面試成功的機率很容易受面試官的方向以及面試官情緒的影響。

本人面淘寶時,面試老師是一位小姑娘,從SQL語句到觸發器,檢視,遊標,臨時表、表變數、單索引、組合索引、聚集索引、非聚集索引、主從庫、庫引擎考了一圈後,開始問我B樹和B+樹的實現,區別,查詢和寫入時間複雜度,很顯然我不是資料庫專家想要的人。

此外,面試不要再全部是演算法,有些公司幾輪面試就做幾道演算法題,在各種寶典滿天飛的今天,這種面試公平性不太好,而且不一定能要到適合崗位的人,可以有算 法,思考問題的能力,知識面,學習能力和態度多方面考慮。我覺得面試過程問一個學生看過技術書籍是比較好的方法,能看出他是否熱愛技術,學的技術對公司是 否有幫助。

經理面,主要是看公司從各種情況,如氛圍、崗位需求上要不要這個人。

總結下:如文首的牛人說的,IT公司招聘難,對於沒有履歷和經驗的學生來說,校招更難。

相關文章