微軟面試全過程分享
導語:微軟作為知名的國際大公司,很多求職者都想要進去,可是有那麼容易嗎?下面一位求職者對微軟面試全過程的分享,希望可以幫到大家。
微軟面試全過程
筆試當天,我感覺一般,微軟的題目是全英文的,評分規則有點奇怪,空著不答0分,答錯了反而倒扣分。這提醒下大家,這非常重要,可以看得出微軟非常看重一個人的信譽,讓我們千萬不要不懂裝懂。從中,我們可以發現兩條規則:第一,題目應該不會有陷阱,如果有陷阱的話被倒扣分很冤枉,因為被陷阱坑了遠遠比不會要強;第二,無論是筆試還是將來的面試,千萬不要不懂裝懂,不懂就不懂。筆試的題目來說,是我參加這麼多筆試中感覺最好的一次,因為考的內容基本上都是演算法和資料結構,沒有我最討厭的計算機網路等靠記憶的學科。不過難度還是有點大的。
考完後我沒有報太大的奢望,可是一個星期過後,我奇蹟般的收到了微軟的郵件,叫我兩週內準備電話面試。後來上週五那的工作人員打電話給我,叫我這週二,也就是今天下午2:00到4:00準備電話面試。我問了另外一個已經收到OFFER的兄弟,他和我說他是去現場面試的,至於我為啥是電話面試,他不清楚,至於具體原因我待會兒再說。
今天下午2:00,微軟準時打電話給我,接電話的是個女的,對著我的簡歷問了我下南網那變的專案,我就吹啊吹啊吹啊吹。吹玩後,她用問我北京實習的專案,還要叫我用英文回答最大的挑戰。講完後,問了我下C++的知識,其中包括了虛擬函式,好在我之前兩天C++。接下來她說我對測試有沒興趣,問了我很多測試的問題,包括讓我測試下電燈泡,還要我說說在中軟做專案過程中遇到的測試問題等等。最後出了一道程式設計題,關於字串的,我回答的不是很好。她要求不斷的降低時間複雜度,最後還是提到了測試方面的問題。我現在終於明白為啥我是電面的了,可能我筆試的不是很好,處於候補名單中,軟體開發不要我,看看有沒別的部門要我,結果軟體測試那部門看重了我。大概一面面了我差不多30多分鐘,然後叫我等通知。
問了同學,他們說一面一個小時,我感覺我沒戲了,正心灰意冷的準備肥學校準備UC筆試時,可愛的鈴聲再次響起。這次是個男的了,這個可能是技術人員,問的問題全是技術問題。首先叫我自我介紹下,這個我事先準備好了,對著稿子讀了一翻。然後問我懂不懂C++,雖然之前我不會用C++,但是前幾天蹲在家裡閉門看書,總算有了幫助,今天早上還剛看完虛擬函式這一章,結果他在次問道了這個問題。看來虛擬函式非常重要啊。我就結合多型來講了下虛擬函式的做用。接著他又問了許多C++的問題,其中一個是多重繼承,這是JAVA沒有的,叫我回答為什麼JAVA沒有的原因。我就從二義性方面講。感覺他對我的答案基本滿意。接著又問我關於C++和JAVA陣列定義的區別,這個我回答不上,我老實說不會,他很耐心的給我解答,當陣列越界時JAVA會自動查詢錯誤,而C++不會。可以看出這為面試我的GG非常非常的好人,我忍不住再讚揚他一遍。接著又問查詢樹和雜湊表的區別,這個問題問的非常的好,我答不出來,他又很耐心的給我解答,原來查詢樹適合有序的查詢,而雜湊不適合,例如查詢人的名字,由於姓太多,按照雜湊表查詢會很麻煩,查詢樹就解決了這一難題。接下來,他又問了不少C++方面的問題,例如堆和棧之間的區別,還有連結串列和陣列的優劣等等,這些問題我都很流利的答出,感覺他對我這幾個回答還算是比較滿意。
接下來,兩道程式設計題。第一題,叫我判斷一個連結串列是否為迴圈連結串列。這個問題查補度糾結了半個小時,我不斷的更新自己的回答,不斷的被否定,接著否定之否定,一直到了最後在他的不斷提示下,找到了答案。其實答案有點考智商,就是給兩個指標,按照不同的速度向前移動,如果到了發現到頭來他兩會出現重疊,則該連結串列是一個迴圈連結串列。這裡提醒下大家,類似於這種程式設計題,大家千萬千萬不要輕易的說想不到,告訴我答案吧。這樣說是死定的。再怎麼樣都要想下去,千萬不要放棄,實在想不到可以要提示。好吧,讓我再次表揚下那位面試我的GG,他非常非常的NICE,還很有耐心,非常的好人。
最後一道題,是關於二叉樹的:給你個二叉樹,只有從上往下的方向,問你怎麼去判斷兩個節點的最近父節點。這個問題花了差不多40分鐘,還停頓下來叫我寫程式碼,寫完後念給他聽。不過還好,題目不是很難,花了10幾20分鐘寫好了。但是之前針對這個演算法我提出了多個方案,但是都被要求優化,可見微軟對時間複雜度和空間複雜度的要求是非常的高。
面試結束了,27號前出結果。如果RP大爆發,我還要去北京現場面試,據說是要求面試4遍,原來我還是長征的一小段啊。即便這次有很大的機會被刷下來,但是今天2個半小時的面試還是令我受益匪淺。在次感謝兩位面試官的友善和耐心,讓我從中學到了好多東西。