2017暑期微軟蘇州預科生面試經驗分享

上周在蘇州微軟現場面試了三面,算是把微軟這一系列的流程給走完了,現在寫個總結。

一、筆試

筆試環節就不說了,微軟都是在hihocoder上做類似ACM的題,4道兩個半小時。如果有需要可以提前刷刷題目,這些題目相比lintcode,難度更大一些,而且更靈活。

今年的微軟筆試有一個補試,之前有過一次筆試,當時是太難了,兩個小時我一道題沒做出來,就給頁面關閉了,也沒有提交任何答案(因為本地沒有正確輸出,現在看看這是一個明智的選擇)。過了幾天微軟那邊發了一個鏈接,詢問是否因為其他原因沒有參加上次考試,給了個補考的鏈接(我同學提交了沒有分數的沒有收到這個郵件),於是我幸運的通過了這次筆試,拿到了面試的資格。

二、面試

收到了面試的郵件之後才發現,這個面試環節也有很多差別。因為牛客網上有個提前都收到了好幾輪的skype電話面試,而我從來沒有收到過,也不清楚為什麼。

到了蘇州微軟之後,先是會給你一個標誌貼到身上,然後等待面試官叫你。

到了約好的時間之後,會有人刷卡給你帶上樓,到一個會議室等待。

  • 一面:

面試官是一個很年輕的傢伙,由於之前有在騰訊面試的經歷,以為這也是外面找的志願者,結果一問就是我的面試官,後來聊天得知30歲。

上來是自我介紹,由於我的課題比較偏,他問了問我一些醫療方面的內容,說只是感興趣,不是考察項目。閑聊幾分鐘後開始做題。

題目不難,給定一個亂序的鏈表,給定一個數字,把比這個數字大的結點放在後面,比這個數字小的結點放在前面,要求穩定性,即保持原數字之間的相對位置。

想了想寫完了,我寫的方法跟他心中想的不一樣,於是他多看了會,跟我說,一般別人看到題目想到的是那個partition演算法,但是你沒用,所以他在驗證我正確與否的時間稍微長點,還鼓勵我這樣不錯。然後他又說那在換一題吧。

第二題是找出數組中的中位數。

我想了想問面試官,您剛才說到partition,是想讓我寫這個演算法?他大概說了下差不多,於是這道題直接用partition給解決了。

  • 二面:

年紀稍微大一點的傢伙,看了看簡歷跟我閑扯了一番,上來的一個問題竟然問我有沒有用過C++ 14,當時有點懵了,自己寫代碼還是挺少的,沒用過,後來有問的operator重載是否能改變參數類型,還有類型轉換有哪幾種等等。然後又問了C++為什麼要設計多態這種功能,同時還問了多態的優點和缺點。

根據簡歷問了點問題之後,又是一個演算法題,也不難,動態規劃。

一個n * m的棋盤上,起點在左上角,終點在右下角,每個位置上有不同的金額。只能向左邊和下邊兩個方向移動,要求找到最大的金額以及路徑。

後來做完題時間剩的也挺多,就跟面試官扯了一會,他說他比較喜歡什麼都能跟他侃的人,而且這一面也只是做為參考,最重要的還是第三面。

  • 三面:

一面、二面之中過了任何一面,會有第三面。

三面的面試官明顯大前兩個人幾歲,而且題目也會難一點。上來先說了下interface之類的問題,我也不會,他想了下這個好像是Java裡面的,說了幾個看我都不會直接做題了。

4個數字,算24點。

題目很簡單,當時自己給自己繞進去了,最後在他的提醒下算是大概寫出來了。但是時間也到了。

現在想想,開始不該在自我介紹裡面扯太多東西,也不該發散的,既然知道了微軟這邊的要求就是做題,應該多留點時間做題的。

面試官人依舊很好,會有提示和鼓勵,並且在結束後還安慰我說,應該先給你做另一道題的,相對簡單點,能給你點信心。

因為現場會有其他來面試的同學,大概問了問題目分布,感覺這個也是看面試官,每個人的問題知識點差別都很大,但是流程都差不太多,做題為主,不過有個傢伙三面是問項目,沒有做題。在微軟一般都會管中午那一餐,伙食還算不錯。

好了,大概就寫到這裡吧。

原博客地址:2017暑期微軟蘇州預科生面試經驗分享 - Frank


推薦閱讀:

一對一面試為甚麽總是通不過?
AE面試問題經典答案
公司那些事
奇葩而有效的反向面試——王猛見桓溫
海漂系列---如何準備你的實習面試

TAG:面試 | 微軟Microsoft | 暑期實習生 |