2017年實習生從筆試到面試經驗總結
06-14
原文:http://blog.csdn.net/qq_24369113/article/details/70432185 作者:木子-勇士心 個人情況 本人是武漢大學計算機學院2014級的本科生一枚,在寫這篇總結的時候我是大三。本來我們班是規定了有固定的實習的,但是自己還是想向國內頂尖的互聯網公司衝擊一下,所以抱著試一試的想法參加了幾個公司(騰訊、阿里、華為)的暑期實習生招聘。在騰訊應聘的職位是後台開發實習生,阿里和華為應聘的是Java開發實習生。 本文目的 這裡想記錄一下幾個公司的暑期實習生招聘的流程以及一些常問的問題,一來是自己總結一下經驗為以後可能的面試做準備,二來是想給以後的學弟學妹們一個參考,在準備面試的和筆試的時候能夠做到有的放矢。 結果 在2017.4.16是面完了騰訊的HR面,目前還在等結果(不知道是不是進了備胎池,一周沒有消息了OTZ),微信顯示的是「你已完成所有的面試環節、請保持手機暢通」。 在4.14面完了華為的面試,今天剛剛接到華為的簡訊通知說進入了簽約池,叫我填一個什麼調查問卷。 阿里的內推比較早(大概三月份開始的),後面接過一個面試電話然後顯示已回絕,但是貌似4.26有自主投遞的筆試,過了筆試之後還可以有面試機會。 ———華麗的更新線———— 今天(4.24)收到騰訊發過來的郵件啦,開始準備暑期的實習咯 首先簡單介紹一下華為和阿里的情況 (如果只想看騰訊的就直接跳過這一節吧) 華為: 華為在武漢的是實習生招聘面試是在華為武漢研究院(一個三環外老遠老遠的地方),前期需要自己在華為校招的官網上填寫自己的簡歷,然後一段時間後(大概兩周)會收到筆試的通知。 華為的筆試是三道編程題 ,總分600分,分值貌似分別是100、200、300,時間是總共兩個小時。個人覺得題目難度不算是很大,但是想全部做對好像也不是那麼容易。筆試完成大概一周內就收到了叫我去面試的通知。(不過有的同學沒有做筆試也收到了面試通知,估計是部門內推就可以免除筆試)個人感覺華為的筆試貌似沒有刷人,因為我的同學只要填了簡歷都獲得了面試資格。 筆試過後就是面試環節了,地點前面說了是在很遠的一個地方,從我們學校搭公交過去大概要兩個多小時。華為的面試總共只有兩輪,第一輪是技術面,第二輪好像就是HR面試了,然後時間是在同一天里(可能考慮到那地方真的太偏遠)我大概花了30多分鐘就完成了兩輪面試。 技術面試的時候問的主要是項目中的一些問題,主要問題有: -你印象最深的一個項目是哪一個,介紹給我聽一下 -hashmap的結構能不能畫出來給我看看 -平時有沒有使用過Linux,一般用Linux幹啥,常用命令有哪些 -平時用過哪些資料庫 -有沒有使用過雲伺服器(我說我用的騰訊雲....) -有沒有什麼想要問他的 反正個人感覺技術面還是比較簡單的,如果自己做過項目而且真的比較熟悉自己的項目的話問題應該不大。而且感覺技術面好像沒怎麼問技術細節問題(相比於騰訊和阿里)。 接下來的是HR面試,剛面完技術面還沒坐下來就通知我去HR面試。HR面試的個人感覺主要是做些背景調查。主要問題如下: -你最新的一個項目介紹給我聽一下 -你的成績怎麼樣,在年級排名,你們這個班是特色班嗎 -你是哪裡人,高中在哪個學校,高中成績怎麼樣(不知道為啥要問高中....) -家裡有沒有人在華為工作 -你認為你個人的最大優點是什麼 其他的問題記得就不是很清楚了,反正總體感覺華為的面試還是比較簡單的,涉及到技術層面的問題不多,更多的是叫我談項目相關的東西。而騰訊和阿里的技術面就會涉及到很多技術問題了,下面會一一介紹。 阿里: 阿里的內推和面試時最早的,大概3月份就開始了。然後阿里的內推也是最多的,然而我還是跪了(無奈.jpg) 阿里也需要在阿里的校招網站上進行註冊和簡歷填寫以及崗位的申報。然後過了一段時間後會收到一個郵件叫我完成綜合素質評測和編程測試。這個綜合素質評測考的東西真的是啥都有:閱讀理解、邏輯推理、管理協調什麼亂七八糟的都有,總的來說就是一個IQ和EQ以及領導溝通能力的綜合測試,時間大概是一個小時。然後還有一個編程測試,30分鐘一道題(我花了25分鐘才大概看懂題意,最後就隨便寫了幾行代碼就提交了......)。不過官方說編程測試僅供參考,不影響結果。 然後大概過了一周左右的時間突然有個杭州的電話打過來,我還以為是我在淘寶買了啥東西,接了電話才知道是面試(猝不及防)。由於沒有怎麼準備,所以回答的很不理想,上午接的電話下午官網狀態就顯示為已回絕了。主要問的問題有: -介紹一下你項目里用的這個Dubbo框架。(這個是我實習的時候的一個項目,事前沒咋準備,也不是很了解,所以只能說我不知道。。。) -解釋一下Hashmap如何實現的 -你之前做過的項目里有什麼缺陷,如何解決 -如果給你足夠的資源和技術如何優化你之前的項目 -快速排序如何實現 由於阿里這個面試過去的時間太長了,已經記不太清了,但是通過這次面試我總結出了一些經驗,這也為我之後的面試起到了很大的幫助。 簡歷上的東西自己一定要非常清楚,自己做過的項目在面試之前一定要過一遍,你的負責的部分、有哪些創新點、還有那些問題。這些都是需要複習一遍的。 一些基礎的演算法和數據結構要知道,比如快速排序的思想、鏈表結構、hash原理、等等,這些很有可能會被面試官問到。 騰訊 終於說到騰訊了,騰訊的招聘給我的感覺就是豪。貌似騰訊包下了一整個酒店(光谷凱越酒店)來面試,而且好像每年都是那個酒店,據說那個酒店還是五星級的。 還是先從簡歷投遞說起吧。騰訊的實習生招聘是從我們年級的群里得知的。時間大概是三月中旬,當時有一個學長內推,我給學長的郵箱發了簡歷,然後也在騰訊的官網填寫了自己個人的簡歷和各種情況,但是一直等到四月4號都沒有人打電話給我面試。(這通常是簡歷在內推階段被刷了,我們班有兩個大神在3月份就接到電話面試然後順利拿到了offer) 內推階段被刷的我只有老老實實的做筆試題,騰訊的筆試題好像是兩個小時。在正式的筆試題之前還有一個模擬考,供大家熟悉考試題型和環境的。騰訊的考試題分為選擇題、簡答和編程題兩個大類。選擇題的範圍比較廣,數量好像是30個,而且好像有時間限制要在一小時內做完。內容包括有c 、Java、數據結構、網路、Linux、計算題還有一些記得不是很清了。反正感覺是有很多不會做的,但是個人感覺做這種筆試題有時候不能真的去硬算,有時候可以使用推理和排出的方法來做,否則感覺基本不可能在有限的時間內算完。然後是四個大題,兩個是簡答題,兩個編程題。一個是有關磁碟空間計算的問題,我好像沒有做出來,瞎寫的。然後第二題是一個簡單的演算法題,我直接寫出代碼放在上面了。第三題是一個排序平衡二叉樹的問題,但是當時好像把題看錯了,然後沒有寫出來。最後一個題好像是一個格式化輸出字元串的問題。比較有把握的就是2、4兩個題,1、3題就隨便寫了幾句話然後就交卷了。 不過雖然感覺筆試做的不是很好,但是在一周後還是拿到了面試的通知。(好像筆試不會怎麼刷人,我認識的大部分的同學好像做了筆試就都拿到了面試機會)。面試分為三輪,一二輪是技術面,最後一輪是HR面試。騰訊的面試是在華科旁邊的一個酒店裡,比較人性化的是每個地方都會有工作人員指引,還有工作人員幫忙按好電梯的樓層,給人感覺很貼心。到了酒店之後是在大廳用微信掃描二維碼簽到,然後是在休息區等待。到自己的時候會有簡訊和微信消息提醒。上去面試的時候才發現原來是每一個面試官有一個房間,就是他們住的那房間,然後不同的人在不同的房間里進行面試,給人感覺就是騰訊好有錢。 一面的面試官是一個男士,個人感覺像個領導,因為穿的挺正式,不過一般應該是技術人員。首先是叫我做了一下自我介紹,然後就問我一個C 的多態如何實現。因為平時用的都是Java,對C 不是很了解,所以就隨便說了什麼多繼承什麼的,然後告訴面試官我對C 不是很了解,平時主要用的是Java。然後面試官就開始問我Linux有關的問題:Linux進程和線程的區別、Linux進程間通信的方式、Linux的文件系統、Linux進程的創建以及創建後父進程和子進程之間分別會發生什麼。問完了Linux他又問了我Java相關的問題:讓我介紹了一下Java的垃圾回收機制;在紙上寫一個Server通信的示常式序,我寫的時候還專門寫了一個處理線程類,然後還加了一個終止程序運行的條件標誌(我感覺面試官可能會比較看重你考慮問題是不是全面);然後還問了我Java中hashmap的實現(好像這個問題出現的頻率很高)。接著問的是網路方面的問題:TCP的三次握手和四次揮手畫出圖示並講解,說出Http的包頭裡的四個屬性,說出http有哪些方法,post和get有什麼區別(反正這個問題我回答跪了,看到面試官畫了個×)。上面那些問題問完差不多就過了20多分鐘了,然後面試官叫我10分鐘內在紙上寫一個算階乘的程序。我第一反應就是肯定普通的數據類型會溢出,然後我就問面試官輸入的數據有沒有範圍限制,他說沒有。我當時就想肯定不能直接用int 或long,肯定是string來輸出結果,然後愣了大概一分鐘如何去計算。後來我突然想到以前自己寫的一個大數相加的程序,然後我就想把所有的階乘轉換成加法的循環具體可參考以下代碼。(已經過測試應該是沒有問題的) #include#include#include#includeusing namespace std;string addString(string sa,string sb)//實現大數相加{ vector a; vector b; int small=min(sa.length(),sb.length()); //獲取最短長度 //將字元串里的每一位都保存到vector數組中 for(int i=0;i result;//保存結果的集合每一個數表示一位 int jinwei=0;//進位初始為0 int i = 0; for( i=0;i=10) { result.push_back(tem%10); jinwei=1; } else{ result.push_back(tem); jinwei=0; } } if(i> in; cout< 然後十分鐘過去了,我大概把addString那個函數寫了一大半,然後把紙給面試官看,然後還大致解釋了一下我的思路。後來發現這個題其實有更加高效的做法,使用vector來存儲數據,然後模擬手工計算的方式來做大數相乘。具體的代碼可以借鑒大數相乘演算法實例。然後到此一面就結束了,個人感覺回答出了大概70%的問題吧,但是不怎麼抱太大的希望。 讓我沒想到的是兩天後我居然接到了二面的通知。二面是一個比較胖的面試官,網上說一般都是部門的leader,不過我覺得他反而更加的隨和像一線程序員哈哈哈。上來他就給我一張紙叫我寫一個雙向鏈表刪除一個節點的代碼。講道理在紙上寫代碼體驗真的差,而且我總覺得這麼簡單的題可能會有什麼坑…..想了一分鐘貌似也想不出什麼坑然後就吧唧吧唧的寫完了給面試官看,面試官叫我解釋一下我的代碼,然後問我還有沒有什麼補充,通常這就是說代碼里有bug或者沒有考慮到的情況。果然我只注意了刪除的節點是頭結點的情況而沒有考慮到刪除的節點是尾結點的情況。加了一個判斷條件後又向面試官解釋了一下。然後他就給我看一道C語言的變數的空間分配的問題是有關union里有好幾個int、double、char類型的數據,然後問sizeof(union)是多少。講真這個問題我大一學過然後早就忘了,然後我又重複了一遍我對c和c 不是很熟悉,平常寫的都是Java。面試官居然說騰訊的後台都是c 寫的,沒有Java崗。我想這下應該是GG了。不夠好在他說沒有關係,然後又叫我畫了一下TCP三次握手的圖示以及可能出現的Timewait的位置和設置這個的原因,當時我還卡了一下,好在仔細分析了一下正確的回答上來了。接著他問了一個最簡單的動態規劃問題:「每次只能上一級或者兩級台階,上到n級有多少種方法?」解答看這裡。 然後就叫我介紹一下自己印象最深刻的一個項目。我如實介紹了一下,然後他問了一些和項目相關的問題,最後他還給我的項目中沒解決的問題提供了一些意見。然後最後他說我可能需要未來一段時間學習一下C ,然後還要考慮一下自己未來的技術方向的問題。這下我又感覺好像還有點戲。然後到此二面就結束了。總體感覺二面的面試官非常的和藹可親,叫我的名字的時候還沒有帶姓,就給人一種很親切的感覺。 很快當天晚上我就接到了簡訊通知我第二面去HR面,真的是感覺很幸運。HR面試就基本沒有涉及到什麼技術問題了。主要問了我一些其他方面的情況:你覺得你有哪些優點、哪些缺點、你從你的項目中學到了什麼、有沒有什麼例子能夠證明你剛剛說的那些個人特性。巴拉巴拉說了一大堆,然後還和我介紹了騰訊的文化和價值觀,然後還給我提出了一些建議和面試方面應該注意的問題。總體的感覺也是比較輕鬆愉快的,最後他還起身送我離開了面試的房間,讓我比較感動。哦他還問了我有沒有拿到其他公司的實習offer,我不知道這個問題怎樣回答算比較好,但是我還是如實的回答了我參加了華為的面試。 到此騰訊的面試就完成了,總體給我的感覺是比較人性化和比較輕鬆的。面試官感覺也都是比較和藹親切的,一些小的細節真的能夠感動人。 最後放上自己的一些感悟和總結吧: 面試的時候盡量保持放鬆的心態,稍微顯示出一點自信最好。最好不要自黑啊、貶低自己啊或者遇到一個問題想都不想說我不會。遇到不會的問題也要儘力去用自己已有的知識去思考解決,實在不會的可以如實和面試官說我沒有學過、我記得不是很清楚。同時也不要過於放縱或者跟面試官開玩笑什麼的,我室友就是跟面試官開玩笑然後就掛掉了,畢竟我們是在面試不是在茶餘飯後的聊天。 面試的時候最後如果面試官問你有沒有什麼想要了解的,如果自己實在沒有問題想問,可以叫面試官給自己之前的面試提一下意見和建議,這樣也有利於自己的提升;或者叫面試官指導一下自己之前沒有問答上來的某個問題,這樣能夠體現出自己比較好學;或者可以問問面試官自己應聘的職位除了技術能力之外有沒有什麼其他方面的要求,這樣可以體現出自己對該職位比較感興趣並有意願為之努力。 就我感覺一般面試官叫我在紙上寫代碼的題大多不是很難,但是可能會有坑。例如大數階乘的溢出、雙向鏈表的首尾節點的特殊處理等。感覺面試官主要考察你的代碼和演算法能力之外還在考察你考慮問題是不是足夠周到,在面對真實地開發環境時代碼的魯棒性是不是足夠強。 對於應聘開發崗位的同學(特別是Java開發)在準備面試和筆試的時候,Linux的基本原理、數據結構、網路里的TCP和UDP、hashmap、Java的垃圾回收、Java的內存模型、Java的多線程安全問題、http的相關知識幾乎是必考的,所以大家要認真著重複習。 還有就是面對面試官盡量要誠實,因為一旦你說謊被識破了那鐵定使沒戲了,所以對於不知道的問題還是不要不懂裝懂的好。 最後就是保持一顆平常心,能夠過面試就為接下來的繼續努力,不能夠過也要坦然接受。然後繼續嘗試其他的機會,畢竟世界上不是只有一條路,機會總是留給有準備的人的。 好久沒有手打那麼多字了,這片面經就到此為止吧,可能還有一些不完善的,等我想起來再補充。希望能夠給後面的同學帶來一些幫助~
推薦閱讀:
推薦閱讀:
※面試的時候,銷售經理讓你把一瓶礦泉水賣300塊,你會怎麼應對?
※公司那些事
※面試官眼中什麼樣的求職者最靠譜?有效的面試是個什麼樣子?
※面試對策(二)
※關於無領導小組討論的那些事