微軟面試題匯總(3)
六.算法題(說明:這些題就不是什么花樣了,考的是你的基礎(chǔ)知識怎么樣。 再聰明而沒有實(shí)學(xué)的人都將會被這些題所淘汰。)
1.鏈表和數(shù)組的區(qū)別在哪里?
2.編寫實(shí)現(xiàn)鏈表排序的一種算法。說明為什么你會選擇用這樣的方法?
3.編寫實(shí)現(xiàn)數(shù)組排序的一種算法。說明為什么你會選擇用這樣的方法?
4.編寫能直接實(shí)現(xiàn)strstr()函數(shù)功能的代碼。
5.編寫反轉(zhuǎn)字符串的程序,要求優(yōu)化速度、優(yōu)化空間。
6.在鏈表里如何發(fā)現(xiàn)循環(huán)鏈接?
7.給出洗牌的一個(gè)算法,并將洗好的牌存儲在一個(gè)整形數(shù)組里。
8.寫一個(gè)函數(shù),檢查字符是否是整數(shù),如果是,返回其整數(shù)值。(或者:怎樣只用4行代碼編寫出一個(gè)從字符串到長整形的函數(shù)?)
9.給出一個(gè)函數(shù)來輸出一個(gè)字符串的所有排列。
10.請編寫實(shí)現(xiàn)malloc()內(nèi)存分配函數(shù)功能一樣的代碼。
11.給出一個(gè)函數(shù)來復(fù)制兩個(gè)字符串A和B。字符串A的后幾個(gè)字節(jié)和字符串B的前幾個(gè)字節(jié)重疊。
12.怎樣編寫一個(gè)程序,把一個(gè)有序整數(shù)數(shù)組放到二叉樹中?
13.怎樣從頂部開始逐層打印二叉樹結(jié)點(diǎn)數(shù)據(jù)?請編程。
14.怎樣把一個(gè)鏈表掉個(gè)順序(也就是反序,注意鏈表的邊界條件并考慮空鏈表)?
七.幾個(gè)微軟技術(shù)支持中心電話面試的題目
1.如果只想讓程序有一個(gè)實(shí)例運(yùn)行,不能運(yùn)行兩個(gè)。象winnamp一樣, 只能開一個(gè)窗口,怎么作?
2.如何截取鍵盤的響應(yīng),讓所有的’a'變成’b'?
3.apartment在com中有什么用?為什么要引入這個(gè)?
4.存儲過程是什么,有什么用,什么優(yōu)點(diǎn)?
5.template有什么特點(diǎn),什么時(shí)候用?
6.好像最好要了解win32sdk底層的知識。比如消息響應(yīng)的過程等等。
7.對.net的理解,對web service的理解,對三層結(jié)構(gòu)的理解
8.兩層的負(fù)載平衡與三層結(jié)構(gòu)的負(fù)載平衡有什么差別,優(yōu)點(diǎn)
9.windows DNA結(jié)構(gòu)的特點(diǎn),優(yōu)點(diǎn)。