大概總結(jié)一下自己的面試過程,希望能給求職路上的各位小伙伴一點幫助隆判。
全文均為作者的個人觀點犬庇,不足之處歡迎斧正僧界,不喜勿噴侨嘀。
自我介紹:
自我介紹一般應(yīng)該是自己簡歷的概述臭挽。
舉個例子。我一般會這樣開場:“我叫某某某咬腕,是來自某某大學(xué)的在讀研究生欢峰。我比較擅長 C 和 C++,寫過一些小游戲涨共,所以編程能力也算不錯纽帖。參加過多次 ACM 競賽,也取得了一些名次举反,所以對數(shù)據(jù)結(jié)構(gòu)和算法也掌握的比較好懊直。我最近在看《Unix高級環(huán)境編程》,所以對操作系統(tǒng)有一些了解火鼻∈夷遥”一方面,簡潔地介紹自己的專業(yè)技能:C/C++魁索、數(shù)據(jù)結(jié)構(gòu)和算法融撞,等等。另一方面粗蔚,與簡歷上面相關(guān)的記錄對應(yīng)尝偎,比如曾編寫過的代碼以及取得過的獎勵等。
技術(shù)面試:
這是面試中最重要的部分鹏控,成敗在此一舉致扯。
項目介紹:
面試官一般都會先從項目開始問起(當然也有不問項目直接開始問基礎(chǔ)知識的),這也是我的自我介紹中不說自己做過的項目和論文的原因当辐。
我介紹自己的項目抖僵,分為三個步驟:1.盡量用兩三句話介紹項目的功能或?qū)崿F(xiàn)的目標。2.項目的難點在何處瀑构,或者說項目的具體需求是什么裆针。3.通過什么方法解決上述的問題。
第一步時寺晌,我會盡量通俗易懂世吨、不帶任何專業(yè)詞匯去介紹。一方面呻征,面試官只有能夠聽明白耘婚,才可能產(chǎn)生興趣;另一方面陆赋,如果剛開始介紹沐祷,就把項目說的很晦澀難懂嚷闭,面試官會有理由懷疑你的表達能力。后兩步赖临,主要是看你項目的深度胞锰,做的越深內(nèi)容越多。
我舉個我自己介紹項目的例子:
“我需要實現(xiàn)的是在不同光照情況下檢測到路標兢榨,從而達到多閾值自適應(yīng)的目的嗅榕。其中最主要的是,我要記錄不同閾值中的輪廓數(shù)據(jù)吵聪,并將其進行比較凌那,保留合適的數(shù)據(jù),并刪除不符合條件的數(shù)據(jù)吟逝。也就是說帽蝶,我需要存儲數(shù)據(jù)、支持快速查找块攒,并能夠迅速插入刪除励稳。剛開始我使用的是鏈表,但是發(fā)現(xiàn)鏈表的查找速度太慢局蚀,就改成了紅黑樹麦锯。其實使用哈希表也行±派穑”此時扶欣,如果面試官感興趣,他可能會問紅黑樹或哈希表的具體實現(xiàn)方案千扶,或者是紅黑樹與哈希表的區(qū)別料祠,等等。
“由于程序中會產(chǎn)生大量的數(shù)據(jù)澎羞,會不停地創(chuàng)建髓绽、刪除結(jié)點,而申請和回收內(nèi)存的 new 和 delete 操作是比較費時的妆绞,因此我做了一個簡單的內(nèi)存管理顺呕。”這樣括饶,面試官就有可能順著我的思路問我內(nèi)存管理是怎么做的株茶,可以如何改進,遇到某種特殊情況時應(yīng)該如何應(yīng)對图焰,等等相關(guān)的問題启盛。
介紹項目時,如果面試官對你的項目涉及的領(lǐng)域有了解,會追問一些具體細節(jié)僵闯,從而考察你的基礎(chǔ)知識卧抗。否則,若面試官對你的項目不太懂或不感興趣鳖粟,則會直接開始問基礎(chǔ)社裆。
基礎(chǔ)知識:
這部分主要是考察自己平時的知識積累,我沒有什么太多技巧牺弹。
面試官一般都會從很淺的知識點開始浦马,逐步深入考察你對整個知識體系的了解情況时呀。這種行為被同學(xué)戲稱“問你問到死”张漂。面對這種情況,除了多看幾本書谨娜、多看幾遍書之外航攒,我沒有更好的方法。
舉個我被“問到死”的例子:1.進程和線程的區(qū)別趴梢。2.進程間切換和線程間切換的區(qū)別漠畜。3.線程間各自獨立的是什么?共享的是什么坞靶?前兩個問題我能答出來憔狞,但第三個問題只能答出一部分,當面試官追問我“除了你剛才說的那些彰阴,線程還共享什么內(nèi)容”時瘾敢,我只好說我不知道。我只知道尿这,面對一而再再而三的追問簇抵,光看一本《計算機操作系統(tǒng)》肯定是不夠的。
有時射众,面試官會把自己工作中遇到的問題交給你來處理碟摆。比如“我有兩個讀文件的函數(shù),第一個每次讀取 3K 數(shù)據(jù)叨橱,第二個函數(shù)每次讀 4K典蜕。經(jīng)測試我發(fā)現(xiàn)第二個函數(shù)比第一個函數(shù)快,這是為什么罗洗?”這種題目愉舔,面試官一般不會要求你第一次就能答出來。當你給出了幾個答案栖博,卻還是無法令面試官滿意時屑宠,你不妨找他要一點提示。如果能通過提示做出來也是可以的仇让。
不要害怕向面試官要提示典奉。如果遇到不會的情況躺翻,你能夠通過尋求幫助來解決問題,不但展現(xiàn)出了你的溝通能力卫玖,而且比你直接放棄要好得多公你。
編程題:
和基礎(chǔ)知識一樣,這部分也是摻不了假的假瞬。
我的做法是陕靠,拿到題,1.弄清楚題意脱茉;2.確定程序的邏輯剪芥;3.考慮好邊界情況;4.寫代碼琴许。
舉個例子:鏈表排序題税肪。
1.我會問清楚鏈表是單鏈表還是雙鏈表,鏈表是否有環(huán)等細節(jié)榜田,直到我覺得我已經(jīng)完全理解了這道題的題意益兄。
2.我先說出我的程序邏輯,此時箭券,若不能令面試官滿意净捅,他會給出提示。比如辩块,如果我說用直接插入排序蛔六,面試官會讓我再想想其他方法。當然庆捺,有時也會遇到面試官不愿意和我討論程序邏輯(其實他是希望我能夠獨立解決問題)的情況古今,此時就不要繼續(xù)說下去,自己在腦海中把程序捋清楚滔以。
3.考慮邊界問題捉腥,比如考慮輸入數(shù)據(jù)是否會有問題,或者在程序運行時出現(xiàn)問題(比如需要對文件進行操作你画,但打開文件失敗時)抵碟,應(yīng)該怎么做(比如,返回一個特殊的值坏匪,或者拋出異常)拟逮?在考慮邊界問題的時候,不妨問問面試官适滓。即使他希望我獨立完成問題敦迄,但邊界情況他還是會給出建議的。
4.手寫代碼。如果前三部分都做好了罚屋,這部分其實沒什么太多需要注意的苦囱。在程序的關(guān)鍵位置寫上注釋,既方便自己掌握整個程序結(jié)構(gòu)脾猛,又能給面試官留下?lián)碛辛己镁幊塘?xí)慣的印象撕彤。
如果需要提升自己的編程能力,不妨挑個提供“代碼在線評價”的網(wǎng)站并做一些題目猛拴。
應(yīng)聘者提問:
這部分主要顯示出你對這份工作羹铅、這個公司,甚至是這個行業(yè)的興趣和熱情愉昆。但是职员,我覺得,這個環(huán)節(jié)的表現(xiàn)撼唾,只是錦上添花的廉邑,并不能起到更實際的作用。比如倒谷,語文考試,字寫的好看糙箍,作文的分數(shù)能稍微高那么一點點渤愁。
面試前,我會先調(diào)查這家公司的工作環(huán)境深夯。面試時抖格,先簡述自己對公司工作環(huán)境的理解,然后詢問面試官咕晋,他在這家公司工作是一種什么體驗雹拄。接著,詢問他目前的工作掌呜。如果他的工作的某一部分我恰好有了解滓玖,那就再先說出自己對這部分的理解,并再次詢問他稍微詳細一些的內(nèi)容质蕉∈拼郏總之就是表現(xiàn)出自己對這家公司或這個職位很感興趣。
行為面試:
對行為面試模暗,我談不上有什么經(jīng)驗禁悠。我一般是以真誠為主,適當?shù)卮狄稽c牛皮兑宇。
我大概把非技術(shù)問題分為兩類問題碍侦。第一類是關(guān)于整體行業(yè)的發(fā)展、對公司的看法,或者自己的職業(yè)規(guī)劃的問題瓷产。要回答好這種問題比规,自己必須做足功課,對行業(yè)拦英、公司以及應(yīng)聘職位有一定了解蜒什。這類問題早思考會比較容易早有想法。第二類問題疤估,一般是“你有哪些缺點”灾常、“你遇到的困難是什么?你是怎么做的铃拇?學(xué)到了什么钞瀑?”這方面的。在回答這類問題時慷荔,不只是在講述一個與該問題相關(guān)的故事雕什,更是在向面試官展現(xiàn)自我。所以显晶,不妨先想想每個故事都能體現(xiàn)出自己的哪些特性贷岸。
寫在最后:
求職這條路,我也在一步一步摸索著前進磷雇。因此偿警,我不保證你按照我的方式去做就不會出問題。你應(yīng)該做的唯笙,是適當參考螟蒸,并找到一條適合自己的道路。
我找工作時崩掘,在短期內(nèi)遭受了許多大大小小的打擊和否定七嫌。我會及時調(diào)整心態(tài),做好準備面對接下來的挑戰(zhàn)苞慢。所以诵原,你也千萬不要任由自己心態(tài)爆炸放任自流破罐子破摔。守得云開見月明枉疼。
最后祝你求職順利~
相關(guān)鏈接:華為面試皮假、阿里面試、百度一面骂维、百度二面惹资、百度三面。
(轉(zhuǎn)載請注明航闺,謝謝褪测。)