1.進(jìn)程和線程的差別
答題思路:線程是指進(jìn)程內(nèi)的一個(gè)執(zhí)行單元,也是進(jìn)程內(nèi)的可調(diào)度實(shí)體。
與進(jìn)程的區(qū)別:
?。?)調(diào)度:線程作為調(diào)度和分配的基本單位,進(jìn)程作為擁有資源的基本單位;
?。?)并發(fā)性:不僅進(jìn)程之間可以并發(fā)執(zhí)行,同一個(gè)進(jìn)程的多個(gè)線程之間也可并發(fā)執(zhí)行;
(3)擁有資源:進(jìn)程是擁有資源的一個(gè)獨(dú)立單位,線程不擁有系統(tǒng)資源,但可以訪問(wèn)隸屬于進(jìn)程的資源;
?。?)系統(tǒng)開(kāi)銷(xiāo):在創(chuàng)建或撤消進(jìn)程時(shí),由于系統(tǒng)都要為之分配和回收資源,導(dǎo)致系統(tǒng)的開(kāi)銷(xiāo)明顯大于創(chuàng)建或撤消線程時(shí)的開(kāi)銷(xiāo)。
2.測(cè)試方法
答題思路:人工測(cè)試:個(gè)人復(fù)查、抽查和會(huì)審
機(jī)器測(cè)試:黑盒測(cè)試和白盒測(cè)試
2.heap與stack的差別
答題思路:heap是堆,stack是棧;
stack的空間由操作系統(tǒng)自動(dòng)分配/釋放,heap上的空間手動(dòng)分配/釋放;
stack空間有限,heap是很大的自由存儲(chǔ)區(qū);
c語(yǔ)言中的malloc函數(shù)分配的內(nèi)存空間即在堆上,c++語(yǔ)言中對(duì)應(yīng)的是new操作符;
程序在編譯期對(duì)變量和函數(shù)分配內(nèi)存都在棧上進(jìn)行,信息源:中國(guó)電商人才網(wǎng)_www.job003.cn_雄鷹標(biāo)志且程序運(yùn)行過(guò)程中函數(shù)調(diào)用時(shí)參數(shù)的傳遞也在棧上進(jìn)行。
3.windows下的內(nèi)存是如何管理的?
4.介紹.net和.net的安全性
5.客戶端如何訪問(wèn).net組件實(shí)現(xiàn)web service?
6.c/c++編譯器中虛表是如何完成的?
7.談?wù)刢om的線程模型。然后討論進(jìn)程內(nèi)/外組件的差別
8.談?wù)刬a32下的分頁(yè)機(jī)制
答題思路:小頁(yè)(4k)兩級(jí)分頁(yè)模式,大頁(yè)(4m)一級(jí)。
9.給兩個(gè)變量,如何找出一個(gè)帶環(huán)單鏈表中是什么地方出現(xiàn)環(huán)的?
答題思路:一個(gè)遞增一,一個(gè)遞增二,他們指向同一個(gè)接點(diǎn)時(shí)就是環(huán)出現(xiàn)的地方。
10.在ia32中一共有多少種辦法從用戶態(tài)跳到內(nèi)核態(tài)?
答題思路:通過(guò)調(diào)用門(mén),從ring3到ring0,中斷從ring3到ring0,進(jìn)入vm86等等。
11.如果只想讓程序有一個(gè)實(shí)例運(yùn)行,不能運(yùn)行兩個(gè)。信息源:中國(guó)電商人才網(wǎng)_www.job003.cn_雄鷹標(biāo)志像winamp一樣,只能開(kāi)一個(gè)窗口,怎樣實(shí)現(xiàn)?
答題思路:用內(nèi)存映射或全局原子(互斥變量)、查找窗口句柄……
findwindow,互斥,寫(xiě)標(biāo)志到文件或注冊(cè)表,共享內(nèi)存。
12.如何截取鍵盤(pán)的響應(yīng),讓所有的‘a(chǎn)’變成‘b’?
答題思路:鍵盤(pán)鉤子setwindowshookex
13.apartment在com中有什么用?為什么要引入?
14.存儲(chǔ)過(guò)程是什么?有什么用?有什么優(yōu)點(diǎn)?
答題思路:筆者的理解就是一堆sql的集合,可以建立非常復(fù)雜的查詢,編譯運(yùn)行,所以運(yùn)行一次后,以后再運(yùn)行速度比單獨(dú)執(zhí)行sql快很多。
15.template有什么特點(diǎn)?什么時(shí)候用?
16.談?wù)剋indows dna結(jié)構(gòu)的特點(diǎn)和優(yōu)點(diǎn)
17.網(wǎng)絡(luò)編程中設(shè)計(jì)并發(fā)服務(wù)器,使用多進(jìn)程與多線程,信息源:電子商務(wù)招聘網(wǎng)_www.job003.cn_雄鷹標(biāo)志請(qǐng)問(wèn)有什么區(qū)別?
答題思路:1,多進(jìn)程:子進(jìn)程是父進(jìn)程的復(fù)制品。子進(jìn)程獲得父進(jìn)程數(shù)據(jù)空間、堆和棧的復(fù)制品;
2,多線程:相對(duì)與進(jìn)程而言,線程是一個(gè)更加接近與執(zhí)行體的概念,它可以與同進(jìn)程的其他線程共享數(shù)據(jù),但擁有自己的??臻g,擁有獨(dú)立的執(zhí)行序列;
兩者都可以提高程序的并發(fā)度,提高程序運(yùn)行效率和響應(yīng)時(shí)間。
線程和進(jìn)程在使用上各有優(yōu)缺點(diǎn):線程執(zhí)行開(kāi)銷(xiāo)小,信息源:電子商務(wù)招聘網(wǎng)_www.job003.cn_雄鷹標(biāo)志但不利于資源管理和保護(hù);而進(jìn)程正相反。同時(shí),線程適合于在smp機(jī)器上運(yùn)行,而進(jìn)程則可以跨機(jī)器遷移。
注:題目及答題思路來(lái)源網(wǎng)絡(luò)