第一篇:微軟面試題目大全
第一組
1.燒一根不均勻的繩,從頭燒到尾總共需要1個小時?,F在有若干條材質相同的繩子,問如何用燒繩的方法來計時一個小時十五分鐘呢?
2.你有一桶果凍,其中有黃色、綠色、紅色三種,閉上眼睛抓取同種顏色的兩個。抓取多少個就可以確定你肯定有兩個同一顏色的果凍?
3.如果你有無窮多的水,一個3公升的提捅,一個5公升的提捅,兩只提捅形狀上下都不均勻,問你如何才能準確稱出4公升的水?
4.一個岔路口分別通向誠實國和說謊國。來了兩個人,已知一個是誠實國的,另一個是說謊國的。誠實國永遠說實話,說謊國永遠說謊話?,F在你要去說謊國,但不知道應該走哪條路,需要問這兩個人。請問應該怎么問?
5.12個球一個天平,現知道只有一個和其它的重量不同,問怎樣稱才能用三次就找到那個球。13個呢?(注意此題并未說明那個球的重量是輕是重,所以需要仔細考慮)
6.在9個點上畫10條直線,要求每條直線上至少有三個點?
7.在一天的24小時之中,時鐘的時針、分針和秒針完全重合在一起的時候有幾次?都分別是什么時間?你怎樣算出來的?
8.怎么樣種植4棵樹木,使其中任意兩棵樹的距離相等?
第二組
1.為什么下水道的蓋子是圓的?
2.中國有多少輛汽車?
3.將汽車鑰匙插入車門,向哪個方向旋轉就可以打開車鎖?
4.如果你要去掉中國的34個省(含自治區、直轄市和港澳特區及臺灣?。┲械娜魏我粋€,你會去掉哪一個,為什么?
5.多少個加油站才能滿足中國的所有汽車?
6.想象你站在鏡子前,請問,為什么鏡子中的影象可以顛倒左右,卻不能顛倒上下?
7.為什么在任何旅館里,你打開熱水,熱水都會瞬間傾瀉而出?
8.你怎樣將Excel的用法解釋給你的奶奶聽?
9.你怎樣重新改進和設計一個ATM銀行自動取款機?
10.如果你不得不重新學習一種新的計算機語言,你打算怎樣著手來開始?
11.如果你的生涯規劃中打算在5年內受到獎勵,那獲取該項獎勵的動機是什么?觀眾是誰?
12.如果微軟告訴你,我們打算投資五百萬美元來啟動你的投資計劃,你將開始什么樣商業計劃?為什么?
13.如果你能夠將全世界的電腦廠商集合在一個辦公室里,然后告訴他們將被強迫做一件事,那件事將是什么?
第三組
1.你讓工人為你工作7天,回報是一根金條,這個金條平分成相連的7段,你必須在每天結束的時候給他們一段金條。如果只允許你兩次把金條弄斷,你如何給你的工人付費?
2.有一輛火車以每小時15公里的速度離開北京直奔廣州,同時另一輛火車每小時20公里的速度從廣州開往北京。如果有一只鳥,以30公里每小時的速度和兩輛火車同時啟動,從北京出發,碰到另一輛車后就向相反的方向返回去飛,就這樣依次在兩輛火車之間來回地飛,直到兩輛火車相遇。請問,這只鳥共飛行了多長的距離?
3.你有四個裝藥丸的罐子,每個藥丸都有一定的重量,被污染的藥丸是沒被污染的藥丸的重量+1。只稱量一次,如何判斷哪個罐子的藥被污染了?
4.門外三個開關分別對應室內三盞燈,線路良好,在門外控制開關時候不能看到室內燈的情況,現在只允許進門一次,確定開關和燈的對應關系?
5.人民幣為什么只有1、2、5、10的面值?
6.你有兩個罐子以及50個紅色彈球和50個藍色彈球,隨機選出一個罐子,隨機選出一個彈球放入罐子,怎么給出紅色彈球最大的選中機會?在你的計劃里,得到紅球的幾率是多少?
7.給你兩顆6面色子,可以在它們各個面上刻上0-9任意一個數字,要求能夠用它們拼出任意一年中的日期數值
第四組
第一題.五個海盜搶到了100顆寶石,每一顆都一樣大小和價值連城。他們決定這么分: 抽簽決定自己的號碼(1、2、3、4、5)
首先,由1號提出分配方案,然后大家表決,當且僅當超過半數的人同意時,按照他的方案 進行分配,否則將被扔進大海喂鯊魚
如果1號死后,再由2號提出分配方案,然后剩下的4人進行表決,當且僅當超過半數的人同意時,按照他的方案進行分配,否則將被扔入大海喂鯊魚
依此類推
條件:每個海盜都是很聰明的人,都能很理智地做出判斷,從而做出選擇。
問題:第一個海盜提出怎樣的分配方案才能使自己的收益最大化?
第二題.一道關于飛機加油的問題,已知:
每個飛機只有一個油箱,飛機之間可以相互加油(注意是相互,沒有加油機)
一箱油可供一架飛機繞地球飛半圈,問題:
為使至少一架飛機繞地球一圈回到起飛時的飛機場,至少需要出動幾架飛機?(所有飛機從同一機場起飛,而且必須安全返回機場,不允許中途降落,中間沒有飛機場)
第三題.汽車加油問題
一輛載油500升的汽車從A開往1000公里外的B,已知汽車每公里耗油量為1升,A處有無窮多的油,其他任何地點都沒有油,但該車可以在任何地點存放油以備中轉,問從A到B最少需要多少油
第四題.擲杯問題
一種杯子,若在第N層被摔破,則在任何比N高的樓層均會破,若在第M層不破,則在任何比M低的樓層均會破,給你兩個這樣的杯子,讓你在100層高的樓層中測試,要求用最少的測試次數找出恰巧會使杯子破碎的樓層。
第五題.推理游戲
教授選出兩個從2到9的數,把它們的和告訴學生甲,把它們的積告訴學生乙,讓他們輪流猜這兩個數
甲說:“我猜不出”
乙說:“我猜不出”
甲說:“我猜到了”
乙說:“我也猜到了”
問這兩個數是多少
第六題.病狗問題
一個住宅區內有100戶人家,每戶人家養一條狗,每天傍晚大家都在同一個地方遛狗。已知這些狗中有一部分病狗,由于某種原因,狗的主人無法判斷自己的狗是否是病狗,卻能夠分辨其他的狗是否有病,現在,上級傳來通知,要求住戶處決這些病狗,并且不允許指認他人的狗是病狗(就是只能判斷自己的),過了7天之后,所有的病狗都被處決了,問,一共有幾只病狗?為什么?
第七題.U2合唱團在17分鐘內得趕到演唱會場,途中必需跨過一座橋,四個人從橋的同一端出發,你得幫助他們到達另一端,天色很暗,而他們只有一只手電筒。一次同時最多可以有兩人一起過橋,而過橋的時候必須持有手電筒,所以就得有人把手電筒帶來帶去,來回橋兩端。手電筒是不能用丟的方式來傳遞的。四個人的步行速度各不同,若兩人同行則以較慢者的速度為準。BONO需花1分鐘過橋,EDGE需花2分鐘過橋,ADAM需花5分鐘過橋,LARRY需花10分鐘過橋,他們要如何在17分鐘內過橋呢?
第八題.監獄里有100個房間,每個房間內有一囚犯。一天,監獄長說,你們獄房外有一電燈,你們在放風時可以控制這個電燈(熄或亮)。每天只能有一個人出來放風,并且防風是隨機的。如果在有限時間內,你們中的某人能對我說:“我敢保證,現在每個人都已經至少放過一次風了。”我就放了你們!問囚犯們要采取什么策略才能被監獄長放掉?如果采用了這種策略,大致多久他們可以被釋放?
第五組
1.某手機廠家由于設計失誤,有可能造成電池壽命比原來設計的壽命短一半(不是沖放電時 間),解決方案就是免費更換電池或給50元購買該廠家新手機的折換券。請給所有已購買的 用戶寫信告訴解決方案。
2.一高層領導在參觀某博物館時,向博物館館員小王要了一塊明代的城磚作為紀念,按國家 規定,任何人不得將博物館收藏品變為私有。博物館館長需要如何寫信給這位領導,將城磚 取回。
3.營業員小姐由于工作失誤,將2萬元的筆記本電腦以1.2萬元錯賣給李先生,王小姐的經理
怎么寫信給李先生試圖將錢要回來?
4.給你一款新研制的手機,如果你是測試組的組長,你會如何測試?
5.如何為函數int atoi(const char * pstr)編寫測試向量?
第六組
1.鏈表和數組的區別在哪里?
2.編寫實現鏈表排序的一種算法。說明為什么你會選擇用這樣的方法?
3.編寫實現數組排序的一種算法。說明為什么你會選擇用這樣的方法?
4.請編寫能直接實現char * strcpy(char * pstrDest,const char * pstrSource)函數功能的代碼。
5.編寫反轉字符串的程序,要求優化速度、優化空間。
6.在鏈表里如何發現循環鏈接?
7.給出洗牌的一個算法,并將洗好的牌存儲在一個整形數組里。
8.寫一個函數,檢查字符是否是整數,如果是,返回其整數值。(或者:怎樣只用4行代碼
9.給出一個函數來輸出一個字符串的所有排列。
10.請編寫實現void * malloc(int)內存分配函數功能一樣的代碼。
11.給出一個函數來復制兩個字符串A和B。字符串A的后幾個字節和字符串B的前幾個字節重疊。
12.怎樣編寫一個程序,把一個有序整數數組放到二叉樹中?
13.怎樣從頂部開始逐層打印二叉樹結點數據?請編程。
14.怎樣把一個鏈表掉個順序(也就是反序,注意鏈表的邊界條件并考慮空鏈表)?--
15.請編寫能直接實現int atoi(const char * pstr)函數功能的代碼。
第一組題答案:
1)三根繩,第一根點燃兩端,第二根點燃一端,第三根不點
第一根繩燒完(30分鐘)后,點燃第二根繩的另一端,第二根繩燒完(45分鐘)后,點燃第三根繩子兩端,第三根繩燒完(1小時15分)后,計時完成2)根據抽屜原理,4個
3)3升裝滿;3升-〉5升(全注入);3升裝滿;3升-〉5升(剩1升);5升倒掉;3升-〉5升(注入1升);3升裝滿;3升-〉5升;完成(另:可用回溯法編程求解)
4)問其中一人:另外一個人會說哪一條路是通往誠實國的?回答者所指的那條路必然是通往說謊國的。
5)12個球:
第一次:4,4 如果平了:
那么剩下的球中取3放左邊,取3個好球放右邊,稱:
如果左邊重,那么取兩個球稱一下,哪個重哪個是次品,平的話第三個重,是次品,輕的話同理
如果平了,那么剩下一個次品,還可根據需要稱出次品比正品輕或者重
如果不平:
那么不妨設左邊重右邊輕,為了便于說明,將左邊4顆稱為重球,右邊4顆稱為輕球,剩下4顆稱為好球
取重球2顆,輕球2顆放在左側,右側放3顆好球和一顆輕球
如果左邊重
稱那兩顆重球,重的一個次品,平的話右邊輕球次品
如果右邊重
稱左邊兩顆輕球,輕的一個次品
如果平
稱剩下兩顆重球,重的一個次品,平的話剩下那顆輕球次品
13個球:
第一次:4,4,如果平了
剩5顆球用上面的方法仍舊能找出次品,只是不能知道次品是重是輕
如果不平,同上
6)
o o o
o o o
o o o
7)
23次,因為分針要轉24圈,時針才能轉1圈,而分針和時針重合兩次之間的間隔顯然>1小時,它們有23次重合機會,每次重合中秒針有一次重合機會,所以是23次
重合時間可以對照手表求出,也可列方程求出
8)
在地球表面種樹,做一個地球內接的正四面體,內接點即為所求
第二組 無標準答案
第三組
1.分成1,2,4三段,第一天給1,第二天給2取回1,第3天給1,第4天給4取回1、2,第5天給1,第6天給2取回1,第七天給1
2.求出火車相遇時間,鳥速乘以時間就是鳥飛行的距離
3.四個罐子中分別取1,2,3,4顆藥丸,稱出比正常重多少,即可判斷出那個罐子的藥被污染
4.三個開關分別:關,開,開10分鐘,然后進屋,暗且涼的為開關1控制的燈,亮的為開關2控制的燈,暗且熱的為開關3控制的燈
5.因為可以用1,2,5,10組合成任何需要的貨幣值,日常習慣為10進制
6.題意不理解...*_*
7.012345 0126(9)78
第四組 都是很難的題目
第一題:97 0 1 2 0 或者 97 0 1 0 2(提示:可用逆推法求出)
第二題:3架飛機5架次,飛法:
ABC 3架同時起飛,1/8處,C給AB加滿油,C返航,1/4處,B給A加滿油,B返航,A到達1/2處,C從機場往另一方向起飛,3/4處,C同已經空油箱的A平分剩余油量,同時B從機場起飛,AC到7/8處同B平分剩余油量,剛好3架飛機同時返航。所以是3架飛機5架次。
第三題:需要建立數學模型
(提示,嚴格證明該模型最優比較麻煩,但確實可證,大膽猜想是解題關鍵)
題目可歸結為求數列 an=500/(2n+1)n=0,1,2,3......的和Sn什么時候大于等于1000,解得n>6 當n=6時,S6=977.57
所以第一個中轉點離起始位置距離為1000-977.57=22.43公里
所以第一次中轉之前共耗油 22.43*(2*7+1)=336.50升
此后每次中轉耗油500升
所以總耗油量為7*500+336.50=3836.50升
第四題:需要建立數學模型
題目可歸結為求自然數列的和S什么時候大于等于100,解得n>13
第一個杯子可能的投擲樓層分別為:14,27,39,50,60,69,77,84,90,95,99,100 第五題:3和4(可嚴格證明)
設兩個數為n1,n2,n1>=n2,甲聽到的數為n=n1+n2,乙聽到的數為m=n1*n2
證明n1=3,n2=4是唯一解
證明:要證以上命題為真,不妨先證n=7
1)必要性:
i)n>5 是顯然的,因為n<4不可能,n=4或者n=5甲都不可能回答不知道
ii)n>6 因為如果n=6的話,那么甲雖然不知道(不確定2+4還是3+3)但是無論是2,4還是3,3乙都不可能說不知道(m=8或者m=9的話乙說不知道是沒有道理的)
iii)n<8 因為如果n>=8的話,就可以將n分解成 n=4+x 和 n=6+(x-2),那么m可以是4x也可以是6(x-2)而4x=6(x-2)的必要條件是x=6即n=10,那樣n又可以分解成8+2,所以總之當n>=8時,n至少可以分解成兩種不同的合數之和,這樣乙說不知道的時候,甲就沒有理由馬上說知道。
以上證明了必要性
2)充分性
當n=7時,n可以分解成2+5或3+4
顯然2+5不符合題意,舍去,容易判斷出3+4符合題意,m=12,證畢
于是得到n=7 m=12 n1=3 n2=4是唯一解。
第六題:7只(數學歸納法證明)
1)若只有1只病狗,因為病狗主人看不到有其他病狗,必然會知道自己的狗是病狗(前提是一定存在病狗),所以他會在第一天把病狗處決。
2)設有k只病狗的話,會在第k天被處決,那么,如果有k+1只,病狗的主人只會看到k只病狗,而第k天沒有人處決病狗,病狗主人就會在第k+1天知道自己的狗是病狗,于是病狗在第k+1天被處決
3)由1)2)得,若有n只病狗,必然在第n天被處決
第七題:(提示:可用圖論方法解決)
BONO&EDGE過(2分),BONO將手電帶回(1分),ADAM&LARRY過(10分),EDGE將手電帶回(2分),BONO&EDGE過(2分)2+1+10+2+2=17分鐘
第八題:
約定好一個人作為報告人(可以是第一個放風的人)
規則如下:
1、報告人放風的時候開燈并數開燈次數
2、其他人第一次遇到開著燈放風時,將燈關閉
3、當報告人第100次開燈的時候,去向監獄長報告,要求監獄長放人......按照概率大約30年后(10000天)他們可以被釋放
第五組無標準答案
第六組部分題參考答案:
第二篇:微軟研究院面試題目
1、猴子過河,ABC三個大猴,各自的孩子是abc三小猴。河上只有一小舟,每次最多坐2猴,岸上和船上,如果某小猴的家長不在,會被其他的大猴吃掉,ABCa會劃船,如何過河。
2、10個箱子,每箱10瓶水,每瓶重一斤,但是有一箱次品,每瓶僅重9兩,如何稱一次找出次品箱。解答:
1、題意有讓人誤解的地方,應當理解為上下碼頭交接的時候是不允許吃的,否則此題無解。(如果有解請寫信告訴我)如此,則充分利用a的不對稱性。反復畫一下就可以。我差不多5分鐘搞定。
2、依次10、9、8、7、6……共取55瓶稱一下,如果重量為54.9則為剩9瓶的箱;依此類推。2分鐘搞定。來源:博客中國
第三篇:微軟面試經歷中英文面試
微軟面試經歷中英文面試
微軟面試經驗一:
上周三晚上,我收到了ATC的面試通知(郵件)周四晚上,整整復習了一天,直到晚上2點鐘,主要看數據結構,重點看了排序,檢索,二叉書,自己還想了想怎么存儲一個二叉樹到文件中,怎么從文件恢復(這個據說今年考過),怎么不用遞歸實現前序,后序,中序遍歷。圖論部分稍微看了一下。結果,上周五(19日),我參加ATC的面試時候,我看的一個都沒有考到2,慘啊。第二輪的時候,考官的問題是:怎么實現在一個圖中,判斷能否沿所有邊走一遍且只走一遍,如果能夠,寫出走法。需要自己定義數據結構和寫算法。其實,這個就是著名的七孔橋問題,反正我當時一下就有點懵了,幸虧考官給我一些提示,后來還簡化了一些條件和要求,但是我自己感覺答的不是很好。不過,幸運的是,我還是能參加了下午的面試,只有一個人面試,呵呵。現在等待結果中。。
總之,大家還是看看圖論的一些東西吧,當然二叉樹還是要看的。至于其它一些編程題,主要要考慮編程習慣,邊界條件(保證程序正確),以及算法效率,估計都得靠臨場發揮了。就像版上所說的,自己不會的時候,一定要和面試官多聊,試探性的說出自己想法,他總不會讓你往一個明顯錯誤的方向走下去吧1
微軟面試經驗二:
ATC PM 面經 首先聲明,我是被人推薦面試去的。不要和現在的校園招聘混淆了,面試的流程應該是不一樣的。感謝推薦我的Darren.Wang,這位ee的師兄是我的伯樂,雖然我們就見過2面。注:以下的面試都是全英文,就最后報告offer的是中文。ok,首先是電面,9月中旬,是hr打過來的,問了一些基本問題,問了簡歷上的問題,然后問我最熟悉的編程語言是什么,我大言不慚的說c#。于是她問了我3個c#的問題,都是概念性問題,期間聽到有用筆在記錄什么東西(汗)。
分別是thread pool, overload/overri de, 還有一個忘記了。大概就是看你能不能流利的說出來的把。這一輪的重點大概就是英語。最后告訴我給我一個on-site interview, 過了一周左右,通知了我是在10-17號面試,天,一個月。折磨阿,早上7.45??折磨阿基本上是從10月12號之后開始準備的,在此推薦一個pdf,programer interview,有中文版。17號早上6.30點鐘起床,東川路么,很近的。但是我還是打了車。在上車之前的準備工作有:上廁所,吃半塊德福的白巧克力,喝了一點水。其他都帶著上車了。7。30到了,5個人,3個工作的,一個intern,還有一個我 8點開始面試,一共5輪,2輪中國人,3輪外國人,遺憾的我一個名字都沒記住。每輪 1個小時 1面,很nice的gg,英語說得很慢,明顯照顧我。先問了問簡歷的問題,然后開始做題,首先是“TestString“->”StringTest"的問題,而且第二個單詞是給定位置的,用區間反轉解之。然后是一個隨機數字的數組,求和是100的兩個數字位置,用兩邊夾逼解之。這兩個都要寫detail的程序的。然后問了一道open question,怎么樣在擁有很多書的情況下把書擺的適合查找,而且增加的時候也要保持查找的順序。后來覺得這道題就是數據庫的文件系統怎么設計么。還不用考慮刪除,用物理索引解之。
2面,很有氣質的gg,感覺是里面的資深工程師。先給我解釋了一下sde,sdet,pm的區別。然后問了我簡歷上的問題。編程上問了我兩個sorted single list的merge問題。讓我寫代碼。我是真的從上完數據結構課就沒寫過c 的東西了,居然把節點指針寫成了in t *。費了半天勁終于寫好了。結果指針移位的時候多用了個temp指針,被指出,道歉,改正。然后繼續討論sde,sdet,pm的選擇問題。真的是很有風度,恩。3面,很有趣的foreign gg,感覺是開發部的lead。先簡單問了我實習的問題,然后問了我畢業論文的情況。令我驚訝的是我畢業論文寫的是本體的進化,他居然懂得。緊張阿,不是遇到這方面的大牛了八。還好沒有繼續問下去(雖然我不是沒做,但總是心虛阿)。然后出了一道我至今見的最巧妙的面試題(大概是我孤陋了)。
首先,寫個power(x, y)的test cases,就是x的y次方拉。然后,用循環實現,不用循環實現(用遞歸),遞歸費內存如何解決。我到寫遞歸的時候已經暈了,test case 寫了7,8個,自己寫程序的時候每個都要注意,真正的test case driven...這面感覺最不好。4面,很pp的foreign jj,是test lead(我問的,確定)。先問我sde,sdet,pm有沒有講過,我想當哪個。我說sde,pm把,sdet不干。后來最后才知道她是test lead。汗阿。首先問了我一個設計問題,讓我設計一個媒體播放器,越細越好。我一頓mvc,3層架構,設計模式,插件結構,哈哈,我強項阿。然后吹了一通我的設計的健壯,完整,擴充。恩。然后她讓我寫個算法,一個隨機整形數組,找出里面第一對相同的item。我當時吹得太興奮了,頭腦還是處于結構性狀態中,于是只想出了排序的nlogn,沒有能做出n的算法(但是我用空間換時間的辦法得到了n,就是開一個65563的數組。)。
4面結束 5面,很有氣質的foreign jj,是unit manager。先問我sde,sdet,pm選哪個,我說sde,pm.她說為什么每個人都是sde。我辯解一通。然后她給了我一個case,說如果一個世界冠軍給你1/4 billion dollar讓你造一臺自行車,但是輪子是別人造的,而且要time-critical你怎么辦。我當時想,這造火箭都出來了。
我用標準流程應對之,plan,采購,評估。,后,她繼續:如果造輪子的說好了周二給你又沒給怎么辦。我說首先通知客戶,這是 integrity問題。然后push那邊快點,實在不行就換人!反正老子錢多。問題1結束。問題 2:假設現在你有幾個best developer,你想做一個什么軟件?并解釋,設計它。這真是天賜良機阿,我前一周剛和allen討論過要做一個personal的高級收藏夾一樣的東西。于是略作思考,提升至personal knowledge center的級別一頓猛說,激動阿。感覺那個manager 跟你說話就能感染你,讓你很有passion。基本上說完,中間她就提了一兩個問題,還是我接下來就要說得,問題2結束。
離開atc.感覺后兩輪就是按照pm來面試我。等待睡不好,吃不好。聽到手機響就緊張。周五我一個好久不見的高中同學過來了,陪他了一天,期間作了一點心理咨詢。送他去車站的時候,電話響了,通知我給我pm的offer。至此我job的**面試結束??偨Y一下:英語是基礎,盡量做到能流暢的表達自己的意思,我覺得后兩輪我能通過有很大部分是因為我的想法充分表達出來
了。簡歷是過去,要有漂亮的實習和獎學金。前者是你證明自己能力的最好方式,后面是補充。熱情是必須,當你表達出你對這個job的熱情并且面試官也很high的時候,offer就來了。恩,bless all who will have their interview and wish they get what they want.微軟面試經驗三:
12月上旬面的(遲了點,希望對后面的人有一點點用,MS看見還有人要面)在美羅城體會上上下下的(可不是享受啊!每次上上下下都好緊張啊,誰讓我不是牛人呢?DDMM們一定要好好學習啊,基礎課是很重要的,唉,從前別人跟偶這么說的時候偶也是左耳進右耳出,但是基礎課(特別是DATA STRUCTURE)真的非常重要(真的不是我羅嗦啊,實在太重要了)似乎面試官都是從北京飛來的,(包括HR JJ,PP哦),除了上海的DIRECTORHR JJ告知是3+1輪,不過實際面了3+2輪(3輪后淘汰或者是直接錄取(這個偶不知道)了1/4,呵呵,其實就是1個人拉,一共才4個人那天)偶面的POSITION是SDET(不敢面SDE,本人實在太弱)
第一輪:自我感覺還比較良好,問了STATIC和POINTER的一點東東,然后是一個ITOA的實現+如何測試,然后問了二叉排序樹中如何刪除一個結點第二輪:讓偶寫那個刪除結點的CODE,寫的亂七八糟,錯誤多多,被強烈BS,不過MS的人都很和藹,說還有機會第三輪:是ATC的一個VICE PRESIDENT,先問了些問題(非技術),智力題好牛(應該說是我弱),答不出,和藹的告訴偶:今天辛苦了,感謝來應聘!(智力題是12球未知輕重問題)RP爆發了一下,竟然在如此情況下還有下面的2輪,感謝黨,感謝**,感謝微軟 第四輪:老外出現,負2進制,循循善誘后總算答出一點,英語太差亞,有人同去學口語不?然后是寫STRCMP+如何測試,汗啊,KMP俺背不出。第五輪:BOSS出現,就是上海的DIRECTOR,頗有親和力,上來聊了會,然后出了一個WORD COUNT 的實現+TEST,還有一道智力題然后HR就告訴說結果下周一會通知,確實非常準時。周一下午就收到了。
總結一下偶的一點心得,僅供參考:千萬不要緊張,答不出不是問題。偶就是太緊張了,丟臉啊(XDJM不要BS偶啊)。答不出應該保持風度,或者請他換道題也可以。(這個感覺是面試經驗問題,偶的面試經驗確實是太少了,不過充分牛的話應該就不會遇到這個問題了(好像多嘴了,牛人應該不用看面
經?!@#$%))還有英語是真的太重要了,那里人人都是講英語的。偶就是太[被過濾],洋文這個東東啊,是一定要學好的,不僅要GOOD,還要BETTER,BEST!偶是下定決心學習口語+聽力了,望懂行的XDJM給我支個招,上什么班比較好?要自信,感覺微軟的確不是只根據你的強弱來錄用你的,我想這個也是MS的風格吧,雖然以前也有所耳聞。
第四篇:微軟stb實習面試感受
微軟stb實習面試感受
----05本AubinXia
1.引言:
在寫這篇文章前慎之又慎,查了好多網上類似文章的寫法,總結了一下。是 這樣的,身為軟件學院的一分子,自然有義務幫助每個身邊的朋友進入好的公司,但是作為半個微軟員工,為微軟帶來利益也是我應做的。我很相信軟院同學的實 力,但是如果我的文章對于面試的細節挖掘得過深,探討了過多技巧性的問題,顯然是不利于微軟公司招到真正優秀的人才,而且把面試細節完全公開出來個人覺得 不是很道德。畢竟這是一篇公開出來的文章,而且署了名。
所 以,想了許久,決定采用這樣的寫法,本文以面試經過的形式寫就,對于面試的詳細細節不會探討過深(說實在話沒什么好探討的,面過一次就知道了),但是重心 卻是放在由此引出的對于一個人需要努力的各個方面,至于技巧,大家完全可以推敲出來,但卻是建立在實力的基礎上。我相信這種寫法既符合軟件學院人才培養的 長遠目標,更加有利于同學們的長遠發展,又符合微軟公司的利益。從這個角度來講,本文更適合于06、07的同學。2.STB簡介:
微軟服務器與開發工具事業部,原來隸屬于atc上海(微軟亞洲工程院),于05年改制單獨成立為一個新事業部,近年來發展迅速,其員工由05年20多人,已經擴充至200多人,并將繼續擴大規模。據說,秋天將要搬到微軟上海研發基地中,屆時,GTSC/MSN/STB,貌似都要集中到一起。聽說是這樣。該事業部致力于為微軟用戶提供高性能計算、互連系統、系統配置管理等方面的核心產品和技術,同時,全面參與家庭和中、小型企業服務器、安全與訪問、數據平臺和開發工具等服務器及開發工具等的研發工作。
反正以上我不是很懂,不過應該是很有意思的。我唯一知道的,該事業部是參與Visual Studio和SqlServer開發的(這應該就是名字中“開發工具”的由來吧),所以應該會非常有趣的說。
3.注意基本品質的培養
第一次電面很不好意思的說,前前后后麻煩了HR姐姐4次,因為前3次都不方便。這里對微軟HR姐姐致敬一個,真是耐心!贊!英文自我介紹,5年職業規劃,一道技術性小題目,考察多線程同步的理解,不難的。還有對微軟的理解,各方面。
這里考察一個人的基本品質。
首先,要學會表達自己,第一個問題就是英文自我介紹。用萬老師的話來說,就是要學會“秀”。這個表達上的問題,已經是老話題了,但是總有很多同學表達能力 欠缺,包括我在內的。總結一下,問題的根源在于自己不夠自信。這是同中國國情相關的。但是進入大學之后,培養自信是很重要的一個方面,要當成一門很重要的 課程來修。要學會自己獨立解決問題,擺脫依賴心理,能夠對一個問題給出自己的判斷。平時我們多注意觀察一下獨立性很強的人,就會發現其實這是一種狀態,一 種生活狀態。當你達到這種狀態之后,就會擁有很多品質,比如堅毅、果斷、善于言辭,甚至頭腦也變得靈活。事實證明,一個人如果多注意多培養,完全可以變成 一個很自信的人,但關鍵是要花心思,每個人都有不同的方法,但是只要堅持下來,自信是完全可以被征服的。
其次,這里有一個職業規劃的問題。其實大家查一下微軟的信息,會發現微軟培養員工的體制里面,職業規劃是一個重要的組成部分。為什么呢?因為不管人生哪一 個階段,目標和計劃都是促進一個人發展的強有力動力。這里我可以說的就是要告訴學弟學妹們重視目標和計劃的重要性。以我為例咯,我對此感觸還是很深的,說 實在話我是一個反應很慢的人,或許金牛座的人的通病哈哈,所以之前的我經常走在別人的后面,沒辦法,我只好定下詳細的規劃,遠至幾年,近至最近幾個小時要 發生的事,我比較習慣于分析任何一件事的所有可能性,然后在事發之前做出選擇,之后你就會發現很多事情其實都在你的控制之中,這種感覺很COOL,真的。目標和計劃不能百分百有效地督促你,但是他可以讓你知道你自己在做什么,并采取措施,即使你墮落,你也很清楚的知道你自己在墮落,程度有多深。我比較抵制得一種生活狀態就是沒有目標、沒有計劃、無聊混日子那種,并美其名曰:輕松享受生活還有什么80后 的流行生活等等。我個人覺得完全就是無知和逃避生活借口的產物。其實這種生活真的很享受么?有很多人經常會發現自己沒事情做無聊得想撞墻吧,然后突然事情 急了,根本已經沒時間,突然壓力巨大無比,然后再慨嘆:“做人真煩!”,繼續想撞墻。我比較欣賞的生活狀態至少可以讓我很充實,玩的時候也玩的很盡興,真 的充滿樂趣。
然后呢,就是那個技術上的小問題了。這個問題的回答被HR表揚了,哈哈。是一個JAVA中的多線程和同步的問題,關于這個問題我回答的比較深,把JAVA歷史上的同步機制都挖了出來,并分析其解決方案的優缺點,說了很多,怪不得HR姐姐開心了。關于技術上的問題,其實是治學了。這也是一個老話題,我這個人有個毛病,老師講東西給我聽,我總是聽不進去,我很抗拒從外面灌輸給我的東西,我理想中的學習狀態是這個樣子,探索式的自學,遇到很感興趣的問題或者是比較艱深的東西再找個老師探討。所以在這里對07同 學提的一個小建議了,預習真的很重要,我們不能達到那種理想的教育狀態(那樣教育成本太高了),但是可以盡量去模擬。不要老說自己做項目,沒時間,這事那 事,然后再一頓狂批軟院的體制,什么不夠合理等等。我在大一的時候也是這種心理狀態,后來才逐漸發現,人生中沒有一件事是完全合理的(相比較其他學院,軟 院的體制其實不知道好到哪里去了)??倳懈鞣N各樣的東西在擋著你,失敗的人總會怨天尤人憤世嫉俗,成功的人會冷靜思考,分析情況,如何避開不利因素,做 出正確選擇。前者是主觀思維,情緒控制個人,后者理性思維,個人控制情緒,個人覺得成功者和失敗者的差別就在這里的。我不敢說自己已經達到后者的境界,但 是正在努力想后者靠攏。這個扯遠了哈,繼續往下。
接下來的問題,是關于對微軟公司的理解,包括其文化以及你最喜歡的產品等等。這個問題我答的不是很好,因為專業是軟件的緣故,so,談了一下.Net,但是談的不是很深入,因為僅僅是學了些.Net皮毛,也沒有深入了解過。這里引出來的一點就是一句老話啦,知己知彼。根據我個人的總結,從我記事起到現在所遇到的所有關卡,早期的中考、然后OI,接著的各種考驗。幾乎其中我失敗的經歷原因都在于我沒有重視。所以我現在覺得對任何一場考驗,都要去認真對待,這很重要,你要去了解你的對手,了解整個操 作的流程,考慮
各種可能的情況,然后自己努力的方向。總之,就是要去研究它,我這個人很笨,腦子不夠用,所以我總喜歡在一張紙上對一件事分析,寫寫劃劃,思路可以清晰好多。說實在話,第一次電面我認為我不是很成功,主要原因就在于我對第一次電面沒有重視,沒有去做深入研究。不過還好,HR姐姐讓我過了。然后的問題都是對于一些學習和工作中的問題,看你如何去處理了。比如,有人問你,你在大學階段的各項目中很多充當leader的角色,你會不會覺得你過強的leadership會與將來的工作氛圍發生沖突。大家想想,如果有這樣一個問題該怎樣回答呢?這還是一個情緒和理性沖突的問題。我覺得如果一個人真正能夠做到個人控制情緒的話,這個問題其實真的很好回答的。一個人并不是為了表現出leadership而去表現leadership,在理性分析了所有的情況之后,我們會發現,在大學這一個環境下,表現出leadership有助于項目的進展,所以這種leadership是個人根據外界環境理性控制的結果,而不是感情的發泄,如果一個人到一個新環境中,首先要做的就是適應這里的環境、氛圍、文化,然后分析,做出關于自己工作方式的正確選擇,使其有助于自己的發展,有助于公司的發展。
第一面差不多就是這樣了,說實在話,前面幾個問題因為準備不充分,所以答的不是好,但是后面幾個問題,我個人覺得還是很滿意的,能夠聽出來對面的HR姐 姐也是很滿意的。這可能同我的性格以及行事風格有很大關系,所有人都說我像個書呆子,很迂腐,而我這個人沒事就是喜歡思考人生觀和價值觀的一系列問題,并 經??梢韵胪ê芏嗍虑?,比如,如何去接受別人的缺點,如何學會去尊重別人,如何去控制自己的情緒,我經常美其名曰:“提高修養!”,呵呵。所以當HR姐姐跟我探討起比較趨向于人生哲學的問題時,我基本上還是能夠探討的入木三分,嘿嘿~~~
當然,大家不要像我這么迂腐哈,像我這種迂腐性格也有不少壞處的,打住了,傷心往事不提了~~~反正只是要知道能夠找個正確的方向,培養自己,就OK了~~
4.編程素養的提高
前面話題扯的有點多,后面盡量從簡了。
第二次電面是一個技術工程師,全英文面試。提前預約,需要用到一個工具Office Live Meeting, 微 軟的產品。確切說是遠程網面。每輪面試流程都差不多,自我介紹一下,談談對于軟件開發的理解,都是些很開闊的問題,每個人都會答,但是答的深度就有差距 了,這就取決于在軟件開發方面的造詣了,一個基礎扎實的人肯定有很深入以及其他人沒有的獨到見解,這方面臨時很難準備的。接下來就是基本算法題目了,出給 我的題目很簡單,具體題目不說了,總之真的很簡單,沒有謙虛,完全沒技術難度。這也在告訴我們微軟的題目要的不是一個正確的結果,而是在你解決這個問題過 程中所展現出來的綜合素質。
這就是為什么要用Office Live Meeting了,這是一個遠程會議工具,中間界面有個白板,技術工程師會要求你在白板上現場coding,他那邊可以完全看到的。你在解決問題的過程會與技術工程師發生不斷的交互。
比如:
在你每寫一步的時候,你有沒有考慮其他情況呢?
在你開始code的時候,你想過邊界條件么?
你知道你現在的這套命名規范,能和其他組員很好的一致么?
你知道一個標準的子程序最佳代碼量是多少行么?
你傳入的子程序的參數是多少個???排列順序是否是按照輸入、修改、輸出的呢?
你的子程序編碼布局美觀么?
你有加注釋的習慣么?
你知道什么時候該把一個單獨功能模塊單獨分出去作為另一個子程序最合適么?
……
發現了吧,其實一個再簡單的程序,不同的人寫,完全不一樣哦~~質量參差不齊,夸張一點,一個人寫程序的過程,幾乎完全就是一個人性格的再現了。能夠看出很多問題,一個人的思維是否縝密,這個人是否喜歡耍小聰明,是否夠冷靜……這里推薦大家讀一本書《代碼大全》,現在出第二版了吧,這本書里對一個優秀程序員所給出的基本素質介紹的很全面,盡管不是具體的技術,但是真的很受用。這里還要說一點,其他公司我不清楚,不過面微軟,他不在意你其他技術的掌握情況,什么UML/J2EE/MFC/.Net,微軟要選拔的是具有潛力的人,按照我的經歷,就完全是以C++算 法題目的形式展現出來,核心是挖掘你在編制程序過程中的基本素養。技術這種東西,說白了就是產品,一代一代過,過時了就不用了,而一些很經典的東西,數學 基礎、數據結構算法、數據庫、操作系統、計算機網絡等等,是計算機科學的基石,建議學弟學妹們分清主次,否則將來會吃大虧。
寫到這里相信大家已經發現了,要準備微軟的面試幾乎沒有技巧,說容易也容易,說難也難。容易是因為,你幾乎不用準備,因為考察的是你這大學幾年來所培養起來的內在品質,不是一些臨時抱佛腳的東西,說他難,是因為你有時候根本準備不來,如果你大學前幾年在混……再好的技巧,神都幫不到你了。
對 了這里還要再說明一下,大家其實要學會培養自己的學習和分析能力。再遇到一個沒有遇見的問題時,根據現有的知識,做出自己的理性猜測,然后再去尋找答案。在這一面時,我就遇到了一個從來沒遇到過的問題,我就是先扯到了一個跟這個問題相關并且我很熟且搞得很深的問題上,講完之后,告訴面試官,那個問題如果讓 我現在去設計,我是這樣考慮的,盡管我沒遇到過這類問題,但是要向面試官展示出你的學習能力和潛能,本來嘛,計算機學科這么廣,一個本科生怎么可能掌握所 有呢,但是其學習能力對于一個程序員來說更加重要。
第五篇:面試題目
發生了海難,艇上有8名乘客落水,現在直升機一次只能救一個人,游艇已壞,不停漏水。正值冬天,天氣寒冷,海水刺骨,請問營救的先后順序:
1.將軍,男,69歲 身經百戰
2.醫生,女,41歲,外科醫生,醫術高明,救人無數
3.大學生,男,19歲,家境貧寒,參加過國際奧數比賽,獲得了很好的成績
4.運動員,女,21歲,奧運冠軍
5.大學教授,51歲,知名教授,目前是一個大型國際學術比賽的評委
6.經理人,31歲,男,是業內非常出名的人士,曾經使一家企業起死回生
7.小學校長,47歲,男,全國勞模,拿過五一獎
8.中學老師,48歲,桃李滿天下,獲得過三八紅旗手