百度:9.22筆試,9.23一面,9.24二面,。9.26三面,9.27offer。職位:PC端開發工程師
9.22筆試,3道問答題(死鎖,oo的幾大原則,windows內存管理方式),3到算法題(都挺簡單的),一道系統設計題(具體什么記不清了,反正不難),這次考的比起往年的,算是容易的。Pc客戶端的題和軟研的題大部分都一樣,好像最后那個系統設計題不一樣。
考完之后,就覺得面試跑不了了。當天晚上准備放松打羽毛球的時候,收到面試通知(明天10點),然后了打了會羽毛球,放松了下。然后問問同學,沈陽地區報考PC客戶端的職位基本上都收到面試通知了,也就10幾個吧,看來競爭力不是很大。自動化平台的收到面試通知,運維也收到了,軟研的就比較悲慘了,去參加筆試的人500+,好像更多,反正就是很多,收到面試通知的就比較少。大家以后再報考職位的時候注意變通下了。晚上回到宿舍,拿起windows核心編程,掃了下重點,windows常考的,消息機制,多線程等。
9.23一面:我是做公交車慢悠悠的去的,順便在路上看了下平時做的總結(就是幾個常考排序算法,和stl的一些總結),在公交車上,我的小心臟一直蹦蹦的跳,很是緊張,試着跟幾個不認識的人交談,還是緊張。 到了面試地點9點半了,我感覺到比在公交車上更是緊張,小心臟蹦蹦的跳個不停,明顯加快,中間媳婦給打了個電話,安慰我說不要太緊張,是你的就是你的,不是你的總歸不是你的,這時我想起一句話:得之我幸,失之我命。我告訴了媳婦,我可能太在意了吧,以前的幾個面試都不緊張。掛了電話,還是緊張,然后去洗手間洗了洗手心的汗,穩定下。“**,來跟我去**房間”,一個女的帶我了面試官房間,我試着和那個女的交談以減少我的緊張感。“今天人很多啊”,“今天天氣不錯”。那女的說了一句“不要緊張,沒事的”。然后就進了面試官所在的房間。面試官是個年輕GG,GG先讓我坐下,握下手(感覺不錯),然后讓我自我介紹下。我就balabala的做了下自我介紹。這個時候,好像已經不緊張了。然后就是談項目,我就把我所做的東西(以前准備過的)一一給他說了,好像挺感興趣,我就把我們的一些設計給他介紹下,然后gg說這都是你設計的嗎?我說是的。(其實不是一個人的成果,但是這個時候沒辦法了)。GG面帶微笑,感覺挺滿意的樣子。在我講項目的時候,我已經感覺到我貌似已經不緊張了。然后問下了,C++的多態實現機制,我直接把菱形繼承虛表結構在紙上畫了下。GG也很滿意。然后就問了下windows的消息機制,SendMessage和PostMessage的區別,如何把后者做成跟前面一樣(早有准備);多線程如何實現通信的,如何同步的(早有准備)。Dll和lib的不同?開發中遇到的問題,如何解決的?當然也問了幾道算法題,統計一些數字中那個出現的最多?(簡單吧),字符串逆轉?我說筆試不是已經考了嗎,(筆試是字符串左移n位),然后又考了個迷宮的算法題。自我感覺,考我的算法題都很簡單。基本上面試官問我的題,我都對答如流(有點誇張呵,也差不多)。最后gg說,你比我當時強多了,讓我倍感很爽。一面基本拿下吧。晚上10點收到明天二面通知。班里的其他兩個PC客戶端的掛掉,就剩下我一個了。爭口氣呵。
9.24二面:二面的時間是上午11點。我和一個參見軟研一面的同學一起去的,我發現我們兩個都很緊張。我的小心臟還是一如既往的蹦蹦的跳,但是我表面上看起來比較淡定。我還趁此安慰我同學,得之我幸,失之我命。說好的11點,11點10分面試官才喊我進去,看來前面的同學面試的不錯啊。表示壓力很大,走進面試官的房間之前,還是很緊張,我使勁跺了下地板。進了面試官房間,一個年齡比教大點的GG,30多歲,跟我二導年齡差不多,一看就知道經驗豐富,比較厲害。上來就讓我做個自我介紹,我就巴拉巴拉的介紹了。然后就把我的筆試卷子拿了出來,我一看80分(心里暗自高興,不少呵)。知道windows內存管理的幾種方式嗎?(筆試的第三道問答題)堆棧,虛擬內存,內存映射文件。GG把我卷子給我一看,那道題0分,問現在讓你回答知道怎么回答嗎?我說,《windows核心編程》就是我說的那三種,如果不是這三種,應該就是段頁式管理吧,這個東西,我考研的時候弄的挺明白,現在好長時間不看了,我也說不出來具體怎么回事了,就是知道有這么回事。GG也沒說什么。問,你的項目和技術,一面已經問過了,我就不再重復問了,你最擅長什么,就是你比別人強的地方。答,C++稍微好點。問,那C++中那塊最好。答,我感覺我oo方面稍微好點,然后就講了下oo。問,還有嗎?答,STL比別人強點,看過源碼剖析,侯捷的那本。問,你簡單介紹下。答,把STL的六大組件說了下,組件之間如何粘合的說了下。問,寫下vector的刪除一個元素。答,我就邊寫,邊說,這里會出現迭代器失效問題,然后講了下如何避免這種問題,順便說下動態增長的問題。問,用過智能指針嗎,智能指針能放在容器里面嗎?答,可以吧,我用的是采用計數方式的ptr,但是用這個做返回值的時候,有時候會出現莫名的錯誤,由於項目比較急,也沒有探其究竟,stl中自帶的智能指針沒用過,不太知道。針對這個問題,我感覺我有點懵,讓我回答為什么智能指針不能用在容器中,我也不太知道原因,就硬着說了點,后來GG給我講了下,當時GG語速很快,我也沒理解說的什么。GG繼續問,stl中實現了那些排序算法,為什么用仿函數,不用函數指針,配接器,一元、二元仿函數的區別和使用情景。我真的是招架不住了,回答的也是越來越不靠譜。然后我就說,老師,我只是了解的比我周圍的多,也沒這么精通,只是了解的比較多而已。GG就不問stl了又問,C++那塊還比較熟。答,我說多態那塊,虛函數表,我就把菱形繼承的虛表分布畫了下,這樣的虛繼承是為少一分基類的復制。問,不采用虛繼承的話,會怎么樣?答:在孫子類中,基類估計會有兩份,我沒試驗過,估計就是這樣。繼續問,除了這些,你還擅長什么?這是心理想:這面試官這么這樣啊,C++方面我就會那些東西,還不讓講我做的項目,我還擅長啥啊,算法又不行,這可怎么辦?順便我瞅了下我的簡歷,項目管理。我就回答:項目管理方面稍微比別人強點。GG就針對項目管理方面發了一連串的發問:項目管理的流程,什么是敏捷開發,如何針對不同的人進行分工,如何調節你手下之間的矛盾,項目開發中最重要的是什么?等一系列問題,問的我最后說,就是這樣了,反正就是不知道怎么回答了。這個完了之后,又問,你還擅長什么?我說學習能力比較強,然后說了下為什么強,怎么強的。GG又是針對這些進行進一步的提問?這個完了之后,又問,你還擅長什么啊,我說沒了,我比別人強就這么多了。又針對我簡歷上寫的“自我評價”,進行一個一個提問。面了將近50分鍾吧,我出來的時候12點了。
這時候感覺:回答的一般把,不知道有沒有戲,感覺還有點戲,感覺已經沒戲了,還不確定,心情既緊張還害怕,參加過面試的人應該都有這種體會。晚上在宿舍一直等消息,等到11點也沒接到3面電話.完了,百度2面掛了,好可惜哦。都怪自己當時沒進一步看看stl。心里很是難受,發了篇微博:現在還沒收到通知,百度二面應該已掛。心情很是沮喪。百度二面后,馬上參加了中興移動的一面了,感覺還可以,一面很簡單,等待中興移動二面,關鍵是這個時候和我一起參加中興移動一面的同學收到了二面通知,而我什么都沒有?心里好是失落。大家應該能體會到吧。9.24號晚上11的心情。看到媳婦發的微博: 堅守心中的希望,可以沮喪,但那股星星之火不可湮滅,等待時機——燎原 。知道這是鼓勵我的,謝謝老婆。
9.25等待:昨夜無眠,早晨起來去參加54所的招聘會,直接被鄙視,本科學校不行,簡歷不要。期間給中興移動打了兩次電話,說二面是分批發的,讓等待,沒辦法,我確實很着急了。下午在東大參加光宇游戲的宣講會,期間收到一個電話,很是興奮,一看不是010,沮喪,接起電話:您好,我是上海先鋒商泰,恭喜您通過面試。。。。。。。很是高興,終於有offer了,待遇還不錯。懸着的心下來了,立馬給媳婦打了個電話報報喜。
晚上在東大參加人人網筆試,正做着題呢?電話來了,您好,我是baidu公司。。,請您明天下午5點接收電話3面。。。喜悅之情油然而生。給媳婦去了電話,報下喜。
9.26電話三面:聽說3面不問技術了,我就准備了下開放性的問題。然后在實驗室等着,等到下午5點。手機准時響起。三面就是聊家常了,本科那個學校,為什么報考哪里?高考引起的地方差異之類,進行探討。針對簡歷又問了下。等等,30多分鍾吧。我問了個問題,如果拒了,會發拒信吧。他說會的。自我感覺不錯,應該沒問題吧。特此發了個微博: 自我感覺百度三面挺順利的,不知道最終結果如何,等待。晚上也收到了人人的面試通知,中興移動二面通知。
9.27offer:跟研究生部要成績單准備去參加中興移動的二面的時候,期間收到了百度的offer短信。還去什么中興移動,去什么人人啊。到此找工作正式結束,找到像百度這樣的公司,對我來說足矣。
總結:找工作就像找對象啊,看順眼了就找到了。期間經常失眠,對電話和短信很是敏感,期間都不讓媳婦給我打電話了,太敏感了。找工作,能學到很多東西。
經驗:最好幾個同學一起去找,相互總結,相互學習。好多公司,感覺用項目就可以忽悠拿下。
送給大家一句話:堅守心中的希望,可以沮喪,但那股星星之火不可湮滅,等待時機——燎原 。
最后感謝我的家人,我老婆,我的導師,還有和我一起找工作的好兄弟,謝謝他們一直陪伴我。
順便附下經常考的題:
語言部分:
- 虛函數,多態。這個概念幾乎是必問。
- STL的使用和背后數據結構,vector string map set
- 實現一個string。沒寫過和寫過c++的人寫出的代碼是一眼就能看出差別的。譬如三大函數有沒有寫,引用的使用,都非常的關鍵。如果這方面沒有經驗,建議看下林銳那本書。
- c++中的多線程
算法部分:
- 判斷一個單鏈表是否存在循環(快慢指針的方法)
- 尋找最大的K個數,編程之美2.5
- 統計數組中出現最多的數
- 字符串匹配
編程部分:
- 二分查找(頻率超高)
- Strcpy考了好幾次
- 快排
- 建堆,順便說下建堆的時間復雜度是O(n),不是log,證明可以看算法導論
- 寫一個函數,將字符串反轉,反轉方式如下:“I am a student”反轉成“student a am I”,不借助任何庫函數 (頻率超高的一題,先反轉整個字符串,然后反轉每個詞)
項目部分:(感覺對我來說很重要)
- 因人而異