2014找工作總結-機會往往留給有準備的人(轉載華科學長CSDN江南煙雨的博文)

以下內容爲原博主所有內容,每次看都覺得讓自己有了動力,很感謝這位華科學長的經驗分享,希望所有求職的小夥伴們好好加油。


轉發請註明出處:http://blog.csdn.net/xiajun07061225/article/details/12844801

 

其實我的求職過程在十一之前就已經結束了,總體講比較順利。參加面試的幾家公司基本都拿到了offer,分別是阿里巴巴、美團網、創新工場塗鴉移動以及華爲當時也參加了其他公司的面試,比如人人,一面過後收到了二面通知,拒了。創新工場豌豆莢一面結束後等消息。十一過後的公司基本都是醬油而過。去哪兒面試拒了。騰訊一面後收到了二面的通知,也拒了。主要是因爲自己已經拿到了理想公司的offer。看來人還是需要一點壓力,這樣才能發揮出自己的潛能。也本着攢RP的原則吧,感覺沒必要刷那麼多offer,而且我也知道自己的水平,對阿里的offer已經很滿意了。剩下的時間還不如先預習一下入職要用到的東西。其實好早就想着寫總結的,一直拖到現在,我想要是我再不寫總結,估計很多東西就記不起來了。

 

一、自我介紹-往事不堪回首

 

首先自我介紹,某985院校計算機學院普通碩士。無ACM、挑戰杯或者是各種編程大賽獲獎經歷,無牛逼哄哄的項目經歷,無名企實習經歷。總之一句話,一個再普通不過的CS碩士。本科期間成績平平,課外也沒有學太多東西,基礎很一般。常常後悔白白浪費了本科期間閱讀那些經典書籍的大好時機。對於碩士期間自己的實驗室,不好意思吐槽太多。項目很扯,沒有感覺學到了什麼東西。方向是什麼圖形圖像,面試到現在沒一個面試官感興趣。代碼也沒有寫多少行。所以起初一直很擔心自己在面試中怎麼來介紹自己的項目。因此,爲了準備秋季校園招聘,我提前做了很多準備,在現在看來,我當初的選擇是完全正確的。下面詳細介紹自己所做的準備吧。

 

二、實習生應聘-備受打擊

 

我正式開始準備找工作是從4月份開始。在此之前,除了在實驗室做所謂的項目,然後就是學習一些基礎的東西,主要包括C++STLLinux算法。這幾項其實都學的比較淺。看過的書有:《C++Primer》、《C++標準程序庫》、《STL源碼剖析》、《深度探索C++對象模型》、《EffectiveC++》、《鳥哥的Linux私房菜》。到了4月份,參加了騰訊是實習生招聘,結果是掛了。我報的是後臺開發。由於沒有Linux項目經驗,面試官狂問數據結構和算法。一面還好,頂住了。問到的題目有:非遞歸二叉樹遍歷-紙上寫代碼、shell排序、基數排序、找出一堆數中出現次數大於總數一半的數,還有一道算法題是:給出一天內的很多條QQ號的登入及登出記錄,每條包括時間、QQ號、標記是登入還是登出的標記符。要求求出一天中最大在線人數。(精確到秒)。基本都答出來了,順利進入二面。二面面試官瞅了一下我的簡歷,就開始問算法。四道算法題,具體題目可以看這裏http://blog.csdn.net/xiajun07061225/article/details/8882981。四道題答出來兩道,一回宿舍,用微信查了下,就進入人才庫了。好吧,被鄙視了。其他的一些公司也投了,比如阿里、大摩、百度等等,不是簡歷篩選沒通過,就是筆試沒通過。反正木有獲得面試機會。不過,我很慶幸自己參加了實習招聘,知道了自己的短板,知道了自己以後想做後臺開發需要準備些什麼,也瞭解了面試中面試官的常用套路,這對我接下來着手開始準備看書準備找工作有很大作用。


在這裏需要說明的一點是,根據我的瞭解,實習是一把雙刃劍。如果能去好的公司實習,能夠獲得正式offer,這樣能夠給自己的簡歷錦上添花,再去面試別的公司也是一個籌碼。但是如果不能獲得正式的offer,也因爲實習的原因失去了複習打牢基礎的時間,在筆試面試中會很吃虧。所以,大家一定要考慮清楚。

 

三、爲找工作做準備-養兵千日

 

在此之後,我便開始了我的讀書計劃,目標是後臺開發職位。重點放在C++、數據結構和算法、Linux、網絡、Nginx我之所以要學習Nginx,主要原因有,一,這是一個優秀的開源web服務器,研究開源代碼,非常有意義。這也是騰訊面試官給我以及另外同學的建議。二,拓展下我的視野,彌補自己項目經歷不足的問題。下面展開介紹這幾個方面的準備。

 

下圖是我的部分書籍。其中一些也沒有去細看。


 

1、數據結構和算法

在之前已經閱讀了一遍《算法導論》,感覺學的不夠深入,很多都忘記得差不多了。因此重新閱讀了重點部分,而且用C++編程實現。比如:鏈表、二叉樹、AVL樹、紅黑樹等等。圖的算法就看了搜索算法:BFS以及DFS。然後另外在網上找了A*搜索算法的資料看了下。一提到搜索,A*算法肯定是少不了的。之後又看了《編程之美》、《劍指Offer》。不僅僅要看書,還要總結。尤其是筆試面試中出現頻率很高的鏈表以及二叉樹的操作,我將各種操作進行了總結,並且練習白紙寫代碼。白紙寫代碼是一項重要的基本功,包括邊界條件考慮、書寫風格等等,會直接決定面試官對你的印象,因此我着重進行了系統訓練。《STL源碼剖析》看完之後,我已自己動手實現了一些容器:stackquenepriority_queneheap等。另外,我也閱讀了網上一些大牛強力推薦的博客資料,比如July的編程藝術等。將前面幾本書中不曾出現的一些數據結構和算法看了一下,比如:並查集、K-d樹、R樹、約瑟夫環問題、數據庫存儲的倒排索引等等。整體講,這部分準備的還是很充分的,面試中出現的大部分數據接結構和算法題都解決出來了。

 

2Linux和網絡

linux和網絡是我最薄弱的部分,也是最擔心的部分。因爲木有這方面的項目經歷,一直擔心如果在簡歷上寫上這一項,會不會被問倒。在這裏要特別感謝我的基友LM,給了我很大的指導,在這段時間裏,一起學習,一起進步。linux首推經典書籍《Unix環境高級編程》和《Unix網絡編程》,網絡基礎知識首推《TCP/IP協議詳解-卷一》。APUE讀了兩遍,UNP挑了部分看了。感覺只看書根本不夠,於是在LM同學的提議下動手寫一些demo程序,比如聊天程序、基於線程池的生產者消費者程序等,加深了對基礎知識的理解。

 

3C++STL

重溫面向對象經典書籍《深度探索C++對象模型》。這本書介紹面向對象機制講的非常不錯,這也是筆試面試中經常出現的考點。重溫《Effective C++》。關於STL,我想學的更深一點,作爲自己的一項可以在面試中發揮的亮點,因此又重新看了STL內存管理、迭代器、traits編程技法、典型容器的原理。這也在後面的面試中多次被問到。

 

4Nginx

其實Nginx只學習了兩個月。我購買了兩本書籍:陶輝的《深入理解Nginx-模塊開發與架構解析》以及《深入剖析Nginx》。首先閱讀陶輝的書,從總體上對Nginx有個初步的瞭解,瞭解了Nginx模塊開發流程以及整體架構。並嘗試搭建了Nginx環境,實現了書本上的幾個模塊例子。接下來開始着重看重要的模塊:進程模型、負載均衡、epoll模塊。閱讀了重要的源碼,並嘗試用gdb跟蹤(其實做的比較少了,沒太多時間!)。在面試中經常被問到我覺得Nginx的優越性在哪?我就提提進程模型、epoll了,再和Apache簡單做了下比較,基本可以矇混過關。


筆試題面試題

至於筆試題面試題,也看了不少。大多數在網上搜索的。在這裏給大家推薦一些比較好的學習資源吧:

Coolshellhttp://coolshell.cn/

Matrix67大牛的博客:http://www.matrix67.com/blog/

July的CSDN博客:http://blog.csdn.net/v_JULY_v

何海濤博客:http://zhedahht.blog.163.com/

筆試面試的經典:Cracking the coding interview--問題與解答http://hawstein.com/posts/ctci-solutions-contents.html

LeetCodehttp://leetcode.com/

這裏有不少筆試題集錦:http://blog.csdn.net/hackbuteer1


 

項目經歷

除了上面的基礎知識,也系統梳理了一下自己的項目。雖然項目經歷很扯,但是,也需要仔細梳理下思路,不能讓面試官感覺讀研期間沒有做什麼事情。把項目流程、關鍵點、難點、解決方案等等重新回想了下。以便面試官問到這些問題能夠很流利地答出來。

 

四、校園招聘-用兵一日

接下來介紹我參加的幾個公司的面試情況:阿里巴巴、美團、人人、華爲、創新工場塗鴉移動、創新工場豌豆莢。

 

1、阿里巴巴-拿到offer

阿里巴巴筆試比較難,題目屬於互聯網公司中比較難的了。筆試題中有較多的概率題之類的數學題。而且選擇題選錯了會扣分,想得高分真是有難度啊。22日晚上筆試完之後就感覺很差,當時感覺可能就沒戲了。沒想到第二天中午午睡的時候就收到阿里巴巴的面試通知,居然是當天下午四點。起初還以爲是第二天。不得不說阿里巴巴的效率真高,傳說三天全部搞完。猛然間想起來已經和創新工場塗鴉移動HR約好了二面,也是最後一面了,恰好也是在下午四點。這可怎麼辦?連忙打了一個電話給HR,結果發現是個總機,需要撥分機號,無奈只能作罷,先去阿里吧。

 

三點從學校出發,坐公交來到君宜王朝大酒店。發現等待的場地很小,等待的人也不是很多。等到4點,阿里面試還沒開始,結果塗鴉移動那邊打電話來了。情急之下說現在有點事情,能不能十分鐘之後打過來。然後我去和阿里的工作人員說能不能推遲四十分鐘,我想四十分鐘應該能夠結束塗鴉移動的面試。工作人員說沒問題,然後連忙去找安靜的地方、光線充足的地方準備電面。結果發現酒店裏面到處都很暗,比較亮的地方只有走廊了。算了,蹲在走廊上面吧。整個面試過程大概四十分鐘,感覺面的還可以。結束後馬上去找阿里的工作人員,等候阿里的面試。

 

等了沒一會就通知去一面。進去後,發現很大的一個屋子裏面擺着很多桌子,一個桌子是一個面試官和一個面試者單面。我的面試官很年輕,也很和藹。一開始就和我聊一些輕鬆的話題。他首先是看我簡歷,看到我的興趣愛好的時候,還問我:“你還會交誼舞?”我笑了一下,回答:“是啊”。他又笑哈哈的說:“就是爲了把妹唄。。。”囧。。。我忍不住笑了(PS:居然這也被你看穿了)。然後問我家是哪裏的,等等。之後就是開始一個自我介紹,然後是對着簡歷問技術。C++算法與數據結構LinuxGDB、網絡、操作系統等等只要我寫了的都問了一個遍。因爲我在簡歷上寫了博客地址,於是在電腦上敲進去打開看了下。我博客寫的文章還挺多的,不過都是些基礎的總結的東西。沒想到面試官很仔細的看了,覺得還不錯。又對着博客問了很多東西。他看我課外研究了Nginx,還寫了一些博文,也問了nginx上的一些東西。還好前兩天看了一下前面的筆記,答的還湊合。後來居然從我博文裏面抽一些東西來問我,我回答之後才告訴我說:“我是在用你的博客來當面試問題哈”囧…總共面試了一個半小時左右,比一般人的四十分鐘多好多。總體感覺一面面試官人很好,很和藹,健談,這樣的面試很開心。

 

由於一面面完之後就七點多了,工作人員告訴我,由於今天太晚了,就讓我明天早晨9:30再去參加二面。第二天一大早,天下着大雨,早起吃個早飯便匆忙趕到酒店。等了會就參加二面了。二面是一個技術面試官和一個HR同時面。首先依然是自我介紹,和一面的自我介紹差不多。項目也許是不感興趣吧,便開始出算法題,都要求寫代碼。總共問了兩道算法題,不算難。第一道題是兩個字符串AB。從A中剔除存在於B中的字符。比如A=hello world,B="er",那麼剔除之後A變爲"hllowold"。空間複雜度要求是O(1),時間複雜度越優越好。我又問了下字符串中字符是不是僅限於小寫字母,它說可以這麼認爲。那麼判斷A中字符是不是在B中的話就可以用hash了。這道題不難,直接設置一個count變量,記錄A中存在於B中的字符數量。然後設置一個指針遍歷字符串A,遇到不是B中的字符往前移動到正確的位置即可。第二道題是求打靶十次,獲得80環的概率。我是用類似於八皇后來做的,遍歷加回溯。只不過代碼沒寫太全。先想寫一個非遞歸的回溯的,但是楞是憋不出來,於是想着用遞歸吧,要簡單一點。反正寫的不全,還是TM代碼寫少了啊。水啊~~技術方面其他的就是問的課餘時間都學些什麼。我課餘也就學習了NginxLinux。首先就聊了下Nginx,什麼進程模型,優點等等。然後問了selectpollepoll的區別。這個很熟悉,很快答上來。之後又問了Linux是如何減少內存碎片的問題的。我就說了下slab,貌似主要應該是夥伴算法。這個問題回答的不好。然後HR問了一些問題,什麼家鄉啊,職業規劃啊,最感興趣的三家互聯網公司什麼的。結束了我問什麼時候可以出通知,說一週之後。囧!這是不是掛的節奏啊!!!

 

話說等通知真是糾結的很。終於在25日晚10點左右收到了阿里的HR電話,說通過了面試,第二天去參加意向會議。阿里是目前爲止我最滿意的互聯網公司了,這段時間的努力總算沒有白費。

 

2、創新工場-塗鴉移動(拿到offer)以及豌豆莢(仍在面試中)

筆試題答的不錯,總分25分,得了22分。錯了一個選擇題,編程題求根號2的我採用的是二分法,實際上更好的方法是牛頓迭代法。還有錯了一道數據庫的選擇題,數據庫真的是不會啊,o(╯□╰)o

 

大約9點多筆試完,當天晚上十一點就收到了面試通知,開始說是早晨八點多,但是因爲上午有華爲面試,就重新約在了下午一點。上午從華爲面試完急匆匆趕回學校吃了午飯,回寢室坐了一會就和同學一起出發去啓明學院參加創新工場的面試。到達地點的時候大概還有二十多分鐘,於是我和同學掏出手機,又溫習了Onenote上的筆記,把堆排序、歸併排序等等基本算法又琢磨了一遍。話說onenote真心很好用,比有道筆記要好用很多。啊哈哈~算是給微軟免費打一個廣告吧~

 

很快就一點了,一位面試官把我叫了進去。猛然間發現這位面試官怎麼這麼眼熟,後來知道了他的名字後才發現是我在人人網上的一個好友,ACM大牛。面試官人很隨和,讓我做了一個自我介紹,僅限於技術上的,一看就是技術宅,哈哈~然後對着簡歷看了下,開始問問題。因爲我的實驗室項目都是圖形圖像方面的,面試官一點都不感興趣,於是都是對着我的技能那一欄寫的進行提問。先是問了Vim我平時都使用過哪些插件。GDB調試命令:查看棧幀backtrace等等。fork函數的返回值,以及執行過程。linux方面的東西問完之後就開始算法。總共寫了三個算法題,都要求白紙寫代碼。因爲我平時這方面練習比較多,因此都不是問題,很快就寫出來了。第一道題是有一個int型數組,每兩個相鄰的數之間的差值不是1就是-1.現在給定一個數,要求查找這個數在數組中的位置。我先說了下最基礎的方法,那就是順序遍歷,還沒說完面試官就打斷問有沒有更好的方法。我就說可以在遍歷的時候進行一些跳躍,提高查找效率。然後他說,嗯,寫代碼吧。第二道題記不得了。第三道題是一個字符數組,裏面的字符可能是a-zA-Z0-9.現在要求對數組進行排序,要求所有小寫字符放在最前面,所有大寫字符放在中間,所有數字放在最後。而且各部分內部分別有序。我一開始沒想到這個數組可能會很大,於是用比較笨的方法來寫代碼,他過了一會就問我是不是要先分別排序再合併,我說是的。他就問如果數組很大呢?我立馬回答出了桶排序。因此大家在開始答題的之前一定要和面試官多溝通,把題目意思搞明白。

 

然後面試官就說沒啥問題了,問我又沒啥問題。我就隨便問了下總共有幾面就出來了。出來才發現總時長才二十分鐘。囧!這是不是掛的節奏啊!還好很快就收到了雙選會的通知。

 

雙選會

雙選會在中秋前一天下午舉行。主要是到場的6家創新工場旗下的公司做介紹,然後大家填了一個意向表。每個人可以選擇三家意向公司,而且三家公司都有面試機會。我填的是豌豆莢、塗鴉移動和墨跡天氣。會上還說塗鴉移動的面試會在當天晚上就開始,因此中秋期間也要準備隨時面試。

 

二面-塗鴉移動

果然當天下午5點就收到了塗鴉移動的二面通知,還是晚上十點的。我去,這是第一次這麼晚去面試。本來是十點,結果開始得比較晚,十一點半才面試完,回宿舍都關門了。感覺面試官特別注重考查思維能力。他問我會哪些數據結構和算法,我先說可鏈表、數組、棧、AVL樹等等還沒說完就被打斷了,他補充說,偏重算法。我挑了我熟悉的幾個說了下:BFSDFSKMPA*算法。然後就出了四個算法題。下面說說兩個較難的算法題

1)一個矩陣,指定其中兩個元素,將這兩個元素用折線連接起來,折線只能朝右或者朝下,要求:折線組成的路徑上的數的乘積末尾的0最多。

 

2)連連看遊戲。判斷兩個點能否連接起來消去,而且要求出最短路徑。可以用哪些搜索算法?BFSDFSA*A*如何剪枝?

HDOJ 1175

典型解法:BFS

 

其他同學的面試題:

由‘0-9’組成的字符串,求一個最大子串。該子串不能滿足條件:該子串的任意兩個子串對應數字的乘積字符串對應的數字不能是這個子串的子串。

 

本來以爲塗鴉二面面的很差,結果還是收到了Offer。今年好像招的人不少。

 

二面:豌豆莢:

豌豆莢的代碼超級好,氛圍也很不錯。我們學院一個大牛在4月份就拿到了正式offer,聽他說,裏面全部是大牛,給力的工資以及各種福利等等,讓人豔羨不已。豌豆莢招人非常嚴格,一般有6-7輪技術面試,難度可想而知。我本着打醬油的心情參加了面試。

 

面試時間:2013-09-21,5:00

總時間大概1小時。

先是一個女工程師面試,主要是問簡歷,聊了Linux shell命令,統計出一個文件夾下大小大於7MB的文件夾,這個沒答上來。還有的記不得了。接下來又安排了一個面試官專門問我C++的,主要是問STL,內存管理、Vector容器等等。之後就是線上編程環節。那邊可以看見我的一舉一動,第一次這樣面試,壓力還是有點大的。題目就是將一個四位整數比如4298轉化爲大寫:四千二百九十八。我漏掉了一個情況:就是十的時候,前面不需要一!PS:不得不說,中文博大精深啊!然後就結束了,我問了下之後還有幾面,HR說還有至少兩到三面。好吧。不得不說豌豆莢的招聘真心嚴格。

 

本來以爲豌豆莢掛了,結果時隔十多天於1016日收到了HR電話,說要進行二面。面就面吧,就當長點見識,這高富帥公司也從沒想過進去。

 

3、美團-拿到offer

筆試是六道大題,有幾道是寫代碼,有幾道是計算題。第二天收到面試通知。美團是三面連續着面,通過一輪面試馬上進入下一輪面試。面試地點在大學生活動中心。一面,面試官讓我介紹了一下項目,我就blabla介紹一通,目測他也沒聽懂。隨便聊了下就開始問C和算法題。算法題不難,紙上寫代碼。大約35分鐘面試結束,在門外等候了一會,緊接着進去二面。二面就是幾道算法題,有的寫代碼,有的講思想。基本都答得差不多了。又出來等消息。由於已經5點了,hr告訴我先去吃個飯,然後回來參加三面。我特意問了一下三面是技術面還是HR面,她說是技術面,技術副總裁面。汗!壓力大啊,副總裁面試!果不其然,副總裁面試就是不同,問題一個接着一個,也很有深度。比如項目中遇到了哪些問題,是怎麼解決的,軟件設計,LinuxNginx等等。反正很多沒答上來。面完之後就感覺要掛的樣子。因爲聽宣講會的時候說道美團今年全國只招200人。沒想到一會就收到了HR電話,算是HR面吧。

 

十月初便收到了美團網的offer,薪資也還蠻給力的,氛圍也很不錯,只不過在北京額。

 

4、華爲-拿到offer

華爲先是機試,三道編程題,題不難,但是隻做出來兩道,第三道題題目理解錯了,尼瑪。面試分爲兩輪,一輪技術一輪HR。感覺華爲技術面試是我面的最差的。幾道題一個都沒答上來。什麼數據庫存儲原理、linux內核的東東….囧。幹嘛總是問我不會的呢!

 

本感覺沒戲了,不過後來也收到了簽約池的信息。再後來就收到了HR聊意向的電話。雖然說華爲今年漲薪了,但是對華爲的氛圍一直沒有什麼好的印象,沒有去的慾望,不久就拒了。

 

5、人人-二面就沒去了

人人就面了一面,因爲有阿里offer二面就沒去了。一面感覺還不錯。面試在我們學校的一個咖啡廳。面試官主要問C++STLC++主要問面向對象的一些東西,基本答出來。STL我比較熟悉,也沒啥問題。最後他介紹了一下自己所在部門的情況,說是做廣告推薦、數據挖掘的。問我對以後職業發展有什麼意向沒。我說對後臺開發、廣告推薦很感興趣,他就記錄下來了。一面大概35分鐘,這樣就結束了。

 

後來不久就收到了二面通知,不過沒有去了。

 

五、總結-一點小感悟

其實我從來沒有料到自己的求職過程會這麼順利,因爲實現沒有發現自己身上有哪些過人的優點。

 

自我感覺我在面試中的亮點主要有三部分:

1)基礎紮實。很多公司都非常注重基礎:語言、數據結構與算法、Linux、操作系統等等。手寫代碼能力很重要,有必要重點強化訓練。

2)課外知識。我課外花時間學習了web服務器Nginx,雖然研究得不是很深入,但是瞭解基本的架構和重點模塊。對於服務器模型有了基本理解。

3)技術博客。我的技術博客原創博文已經很多了,雖然沒有太多高深的東西,都是一些基礎知識,但是大多是自己加以總結了的。大多數面試官都打開我的博客看了,評價還不錯。


其實,關於怎麼樣去學習,並沒有固定的套路。有的同學,在研究生期間做過比較出色的項目,能夠贏得面試官的青睞,比如發過論文,或者是和面試官的方向一致,或者是當下互聯網比較熱的方向等等,這樣,可能一次面試,項目聊完就沒有多少時間了,面試官也不會去問其他的東西。好的項目經驗能夠讓面試官覺得你實踐經驗豐富,可以直接拿來幹活,通過面試的概率也是非常之大的。如果沒有好的項目經驗,最好努力去打牢自己的基礎,多關注互聯網的前沿,充實自己,一樣可以贏得面試官的讚許。總之,大家都要有自己的亮點,能讓面試官眼前一亮,那麼,通過面試也是不難的事情了。


不得不說,面試也看眼緣和運氣,有時候問的東西剛好是自己都會的,有的時候容易遇到挫折。大家要善於把面試朝自己擅長的方向引,展現自己的優勢。多數面試官都不會以問倒求職者作爲目的,而是往往嘗試去發現求職者身上的有優點及潛力。應聘者應儘量將面試看成一個相互交流的過程。

 

最後,希望我的總結能夠給各位學弟學妹一點借鑑的意義,希望大家都能找到好的工作!

 

------------------------------------------------------------------------------------------------------------------------

江南煙雨

20131017日星期四

於武漢 我的小窩

發佈了18 篇原創文章 · 獲贊 29 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章