1. 程式人生 > >華為2017年實習面試面經(研發類)

華為2017年實習面試面經(研發類)

  本來已經不打算寫面經了,但這幾天有幾位知乎上的朋友問我面試的一些細節,所以我還是記錄自己今年3月份在華為通過面試,4月拿到offer的整個過程和求職經歷。

  找實習其實是去年的打算,然後寒假開始著手準備個人簡歷和學習一些比較感興趣的知識。3月中旬的時候,學院的網站掛了華為招聘實習生的訊息,然後在華為招聘網站上投了簡歷,投遞職位是IT應用軟體開發工程師。在學院那邊提交申請後,週五下午華為成都研究所派車來接我們到電子科大聽宣講會。其實他的宣講會主要是介紹華為的軟體精英挑戰賽,個人感覺如果只是找實習的話並不需要去聽宣講會什麼的,作用不大。

   接下來就是收到通知上機筆試的簡訊,3月19號參加筆試。華為的筆試其實就是上機程式設計,2個小時的時間,一共有三道題,分值為100分、200分和300分,最後總分超過100分就可通過筆試。

我當時的三道題:

  1、 輸入一句英文,如"This is a string",要求將其每個單詞的第一個字母變為大寫的並輸出,如果原本就為大寫的就不做修改,則輸出的應該是"This Is A String"。此題分值100,很簡單的一道題,用gets()或cin.getline()讀入一行字串,然後處理每個字元,如果該字元的前一個字元是空格的話就將該字元變為大寫,最後輸出。

  2、給定立方體的長寬高L、W、H,如果立方體A的長寬高都不大於立方體B,則立方體A可以放在立方體B上。現有有若干個立方體,並給出每個立方體的長寬高資訊,問最多可以堆起多少個立方體。這道題分值200,我自己的做法是這樣的:先對所有立方體的長進行排序,然後對排好序的立方體做LIS(最長上升子序列),最後LIS的結果就是所求的結果。當然這種方法是可以通過的,拿到了滿分200分。

  3、輸入法的簡單實現,具體題面我忘了,這道題是一道資料結構題,可以用STL中的map來做,也可以用字典樹Trie處理。這道題300分,其實這題並不難,但是做起來很麻煩的,要考慮很多細節,由於時間關係這道題還沒做完就到點了。

  這就是筆試的一個流程,最終是拿到了300分。這部分通過後還有一個性格測試,這個就是比較一般的性格測試的那種選擇題,題量較大,差不多30分鐘做完。當然性格測試這部分也是比較坑的,很多題目他會以不同的方式來問你,如果你前後回答矛盾較大,並且這種錯誤還比較多,可能就不能通過性格測試了。

  然後就是3月26日的面試了,面試之前複習了資料結構、演算法、C++和資料庫的一些知識,然後背了背自我介紹帶上簡歷就去面試了。

  這裡先說一些小的問題:

  * 自我介紹一般一分鐘能介紹完自己就可以,大致介紹自己以下資訊:姓名、學院、專業、所應聘職位、個人優點

  * 個人簡歷不要有太多內容,不要超過一頁,具體的簡歷的注意事項可以去知乎上找一找,有很多比較好的回答

  * 著裝部分,程式設計師面試的話穿的簡單幹淨,大大方方就好,穿正裝會很怪QAQ

  華為實習生只有兩輪面試,技術面和綜合面,同一天面試完。

  一面的時候,面試官先讓自我介紹,然後開始看我的簡歷問我問題。

  第一個問題,C++中全域性變數和區域性變數在記憶體分配上有何不同。我回答,一個是分配在記憶體中的,一個是分配在堆疊上的。第二個問題,為什麼一般不在函式中開比較大的陣列?回答,按照我的程式設計習慣,我是不會在函式中開比較大的陣列的,況且編譯器也不會給你通過。這個回答面試官有點懵,他說編譯器會不給通過嗎?第三個問題,什麼情況下會發生棧溢位。回答,遞迴函式呼叫層次太深或者返回函式沒處理好都會引起棧溢位。然後他問我還有別的情況嗎,我沒回來上來(其實我事後才想明白什麼是這三個問題的關係與完美回答。因為區域性變數分配在棧上,所以如果在函式中分配較大的陣列的話,那麼肯定會發生堆疊溢位啊,當時沒反應過來)。

  接下來他就問了我的專案的內容,我就簡要給他介紹了下我們的專案是做什麼的,以及我自己在專案組中擔任的角色。然後他就讓我出來等二面了。

  整個技術面的過程不到5分鐘,面試官問的問題挺少的,可能是面了一上午了比較累。

  在等候廳等了大概將近一個小時然後開始二面,二面是一個面試官對兩個面試者,這種情況下是最有壓力的,剛坐下的時候,面試官一直在埋頭寫東西,那會兒是我最緊張的時候,心跳的不停。

  然後他開始問我們兩個,對華為的IT應用軟體開發的認識是什麼,我們兩個回答的都是軟體工程中的那一套內容,需求分析、編碼和寫文件。他告訴我們,華為哪有什麼IT應用開發,基本上全是雲端計算(他原話)。哈哈哈哈,當時我就不緊張了。

  他看我第二志願寫的是安卓開發,問我安卓平臺和iOS平臺有何不同。我回答,一個開源一個不開源。他又問我,這兩個開發哪個要簡單點。回答,iOS要簡單些,因為安卓的開源導致了其知識的多則雜,並且由於各種框架的推出,使其某些規則流程變得不太規範,而iOS的規則的統一就在一定程度上避免了這些問題(其實我自己也不太清楚是不是這樣,有空花時間瞭解一下其不同點)。

  接著,他問我們兩個能不能吃苦,我們兩個回答的都差不多,基本上都是小地方出身,在家就要幫家裡忙家務一類的。接下來面試官的問題就刁鑽了,他問我們:可不可以這樣說,你們現在的成就是通過努力吃苦得來的,這樣你們以後的職業規劃和發展眼光會因為此有很大的侷限性。我難得智商上線,回答的比較好,我答的是:以前的努力使我能有這種成就,而我在大學中的見識學習與閱讀才決定了我以後的高度。(哈哈哈哈,說出來我自己都不信)

  然後他就問了下我們的發展意向,我回答的是以後會去深圳發展,如果未來幾年有機會的話會考慮出國。

  接下來就沒有了,他就讓我們回去等訊息了。

  3月29號收到面試通過的訊息,華為讓我反饋一個實習時間,根據實習時間決定要不要發放offer,這是確定入職時間用的。

  然後就是等了,等了將近一個月,4月21日華為的HR打來電話問我可不可以將實習時間提前到六月初,我就調整了下時間。

  4月22日收到實習生offer。