今天微軟實習生技術類的筆試地點定在南大鼓樓校區(qū)。作為小本的我,壓力很大,但是也一直抱著做分母的態(tài)度去考試的。在教室門口,發(fā)現(xiàn)了所有考生的名單,第一頁發(fā)現(xiàn)4、5個本科生,第二頁幾乎全是碩士生。總之,本科生比例不足10分之1。所以,壓力瞬間有急劇增大了+++++。
感覺微軟筆試很正規(guī),有考號而且還要攜帶身份證才能進考場,考試卷子和草稿紙不允許帶離考場。
后來,就開始考試了。
考試分為客觀題和主觀題。但是題量蠻少的,客觀題10個選擇,主觀題一道題,兩個問,主觀題就是手寫代碼的題目。
客觀題,有些記不清了,但是都是些基礎的算法和數(shù)據(jù)結(jié)構,如果有人搞過ACM,一定會認為題目很簡單,像對我這樣不搞算法好多年的noiper,還是有一定難度的吧。記得一個是算概率的題目,一個是跟樹的深度有關的題目,一個quicksort算法復雜性分析的題目,一個是sizeof一個類或結(jié)構體的題目,一個是一段代碼寫結(jié)果的題目,一個是基本數(shù)據(jù)結(jié)構特點的題目,一個是樹的遍歷順序的題目。。。剩下的記不清了,反正除了那個概率的題目沒弄明白以外,其他題目感覺不難,但是要細心,對,一定要細心,選擇題不是你會做,就一定能做對的。
主觀題,要寫代碼的,最近經(jīng)常寫代碼,所以寫的還比較快。我的解法里涉及到一個排序的處理函數(shù),感覺排序里比較好寫的還是快排,所以果斷寫了快排。我只把問題的復雜度解決為O(nlogn)的,但是我一ACMer同學,說貌似有O(n)復雜度的方法,具體我也不知道怎么做的。第二問,是寫對第一問程序的測試用例,上個學期上軟件測試的時候?qū)戇^很多測試用例,所以就按那時候的思路寫用例的。
由于,微軟筆試有保密協(xié)議,所以具體題目就不寫了,但是大家應該可以看得出來,算法和數(shù)據(jù)結(jié)構還是很重要的,不對,是非常非常重要的,越來越后悔當時沒有好好學習這些東西。高中的時候的計算機老師就一直跟我說要把這些東西學好,但是我一直不以為意,后來noip也果斷杯具了,上大學后,搞了一段時間ACM,然后竟然轉(zhuǎn)到.net了,現(xiàn)在已經(jīng)是大三下學期了,自己做了很多.net的項目,但是說實話,招.net的大企業(yè)好少啊。。。。在復習面試的過程中,我發(fā)現(xiàn)大公司找人,看重的是一個人的基礎和學習力,而并不是特別看重你做過什么項目,而且對于本科生而言,能做的項目對于企業(yè)來說太小兒科了。所以,數(shù)據(jù)結(jié)構、算法、程序語言基礎、編譯原理、操作系統(tǒng)、網(wǎng)絡原理才是面試的王道。
唉。不管怎么樣,今天的筆試算是全部結(jié)束了,但還是感覺自己做分母的概率比較大,但是就算失敗又能怎樣,失敗會使生活更有味道,我就算是咸魚也一定要翻身。
希望的我微軟筆試心得對各位后來人以后參加筆試有幫助!