- 相關(guān)推薦
騰訊軟件測試面試題
Q1:請你分別劃劃OSI的七層網(wǎng)絡(luò)結(jié)構(gòu)圖,和TCP/IP的五層結(jié)構(gòu)圖?
答:七層結(jié)構(gòu)從上到下依次是:
7 應(yīng)用層 ;6 表示層 ;5 會話層 ;4 傳輸層 ;3 網(wǎng)絡(luò)層 ;2 數(shù)據(jù)鏈路層 ;1 物理層
五層結(jié)構(gòu)是
5 應(yīng)用層;4 運(yùn)輸層;3 網(wǎng)絡(luò)層; 2 鏈路層;1 物理層。
Q2:請你詳細(xì)的解釋一下IP協(xié)議的定義,在哪個層上面,主要有什么作用? TCP與UDP呢?
答:UDP,TCP在傳輸層,IP在網(wǎng)絡(luò)層,
TCP/IP是英文Transmission Control Protocol/Internet Protocol的縮寫,意思是"傳輸控制協(xié)議/網(wǎng)際協(xié)議"。TCP/IP協(xié)議組之所以流行,部分原因是因?yàn)樗梢杂迷诟鞣N各樣的信道和底層協(xié)議(例如T1和X.25、以太網(wǎng)以及RS-232串行接口)之上。確切地說,TCP/IP協(xié)議是一組包括TCP協(xié)議和IP協(xié)議,UDP(User Datagram Protocol)協(xié)議、ICMP(Internet Control Message Protocol)協(xié)議和其他一些協(xié)議的協(xié)議組。TCP/IP協(xié)議并不完全符合OSI的七層參考模型。傳統(tǒng)的開放式系統(tǒng)互連參考模型,是一種通信協(xié)議的7層抽象的參考模型,其中每一層執(zhí)行某一特定任務(wù)。該模型的目的是使各種硬件在相同的層次上相互通信。這7層是:物理層、數(shù)據(jù)鏈路層、網(wǎng)路層、傳輸層、話路層、表示層和應(yīng)用層。而TCP/IP通訊協(xié)議采用了4層的層級結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求。這4層分別為:應(yīng)用層:應(yīng)用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠(yuǎn)程訪問協(xié)議(Telnet)等。
傳輸層:在此層中,它提供了節(jié)點(diǎn)間的數(shù)據(jù)傳送服務(wù),如傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報協(xié)議(UDP)等,TCP和UDP給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)?/p>
Q3:請問交換機(jī)和路由器分別的實(shí)現(xiàn)原理是什么?分別在哪個層次上面實(shí)現(xiàn)的?
一般意義上說交換機(jī)是工作在數(shù)據(jù)鏈路層。但隨著科技的發(fā)展,現(xiàn)在有了三層交換機(jī),三層交換機(jī)已經(jīng)擴(kuò)展到了網(wǎng)絡(luò)層。也就是說:它等于“數(shù)據(jù)鏈路層 + 部分網(wǎng)絡(luò)層”。交換機(jī)中傳的是幀。通過存儲轉(zhuǎn)發(fā)來實(shí)現(xiàn)的。
路由器是工作在網(wǎng)絡(luò)層。路由器中傳的是IP數(shù)據(jù)報。主要是選址和路由。
Q4:請問C++的類和C里面的STRUCT有什么區(qū)別?
答:除關(guān)鍵字不同外(class,struct)的唯一區(qū)別是,
結(jié)構(gòu)在默認(rèn)情況下的成員是公共(public)的,
而類在默認(rèn)情況下的成員是私有(private)的。
在C++中,結(jié)構(gòu)是特殊的類。
class是從struct發(fā)展而來的。之所以將struct和class都保留,是因?yàn)椋?/p>
1、提出class是為了強(qiáng)調(diào)一種概念。
2、保留struct是為了照顧到大多數(shù)人的習(xí)慣。
struct和class是有區(qū)別的。
struct保證成員按照聲明順序在內(nèi)存中存儲。class不保證等等
而它們都可以繼承,實(shí)現(xiàn)多態(tài)等。但也有少許區(qū)別。比如:
struct A { };
class B : A{ }; //private繼承
struct C : B{ }; //public繼承
這是由于class默認(rèn)是private,struct默認(rèn)是public。
一般說來,struct和class可以換用(當(dāng)然要注意一些語法問題)。
而struct更適合看成是一個數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)體,
class更適合看成是一個對象的實(shí)現(xiàn)體,
對私有成員進(jìn)行保護(hù),還提供與外界的接口。
從習(xí)慣上更喜歡用class。
05:請講一講析構(gòu)函數(shù)和虛函數(shù)的用法和作用?
答:置于“~”是析構(gòu)函數(shù);析構(gòu)函數(shù)因使用"~"符號(邏輯非運(yùn)算符),表示它為膩構(gòu)造函數(shù),加上類名稱來定義。
;析構(gòu)函數(shù)也是特殊的類成員函數(shù),它沒有返回類型,沒有參數(shù),不能隨意調(diào)用,也沒有重載,只有在類對象的生命期結(jié)束的時候,由系統(tǒng)自動調(diào)用。
有適放內(nèi)存空間的做用!
虛函數(shù)是C++多態(tài)的一種表現(xiàn)
例如:子類繼承了父類的一個函數(shù)(方法),而我們把父類的指針指向子類,則必須把父類的該函數(shù)(方法)設(shè)為virturl(虛函數(shù))。
使用虛函數(shù),我們可以靈活的進(jìn)行動態(tài)綁定,當(dāng)然是以一定的開銷為代價。
如果父類的函數(shù)(方法)根本沒有必要或者無法實(shí)現(xiàn),完全要依賴子類去實(shí)現(xiàn)的話,可以把此函數(shù)(方法)設(shè)為virturl 函數(shù)名=0
我們把這樣的函數(shù)(方法)稱為純虛函數(shù)。
如果一個類包含了純虛函數(shù),稱此類為抽象類
Q6:全局變量和局部變量有什么區(qū)別?實(shí)怎么實(shí)現(xiàn)的?操作系統(tǒng)和編譯器是怎么知道的?
答:主要的區(qū)別是變量的作用范圍不同。全局變量在全局范圍內(nèi)都有效,而局部變量只在聲明此變量的作用域內(nèi)有效。
全局變量是屬于實(shí)例的,在初始化對象的時候初始化,生命周期與該實(shí)例相同,之所以叫全局變量是因?yàn)樵搶?shí)例中的所有方法或?qū)傩远伎梢砸?局部變量是在實(shí)例方法內(nèi)或static塊中,生命周期從調(diào)用該方法到該方法退出,并且只有該方法能夠引用之。
全局變量和局部變量的區(qū)別是在存儲器中位置不同,具體說,全局變量存儲在數(shù)據(jù)段中,局部變量都有可能,一般來說在堆棧段
Q7:一些寄存器的題目,主要是尋址和內(nèi)存管理等一些知識。
答:尋址方式
表示指令中操作數(shù)所在的方法稱為尋址方式。8086/8088有七種基本的尋址方式:立即尋找,寄存器尋址,直接尋址,寄存器間接尋址,寄存器相對尋址,基址加變址尋址,相對基址加變址尋址。
直接尋址、寄存器間接尋址、寄存器相對尋址、基址加變址尋址和相對基址加變址尋址,這五種尋址方式屬于存儲器尋址,用于說明操作數(shù)所在存儲單元的地址。由于總線接口單元BIU能根據(jù)需要自動引用段寄存器得到段值,所以這五種方式也就是確定存放操作數(shù)的存儲單元有效地址EA的方法。有效地址EA是一個16位的無符號數(shù),在利用這五種方法計(jì)算有效地址時,所得的結(jié)果認(rèn)為是一個無符號數(shù)。
除了這些基本的尋址方式外,還有固定尋址和I/O端口尋址等。
內(nèi)存管理
主要包括內(nèi)存的分配和回收整理等,實(shí)現(xiàn)內(nèi)存的高效利用。
Q8:8086是多少位的系統(tǒng)?在數(shù)據(jù)總線上是怎么實(shí)現(xiàn)的?
答:16位系統(tǒng),8位數(shù)據(jù)傳送,通過總線控制邏輯實(shí)現(xiàn)數(shù)據(jù)線和地址線的分時復(fù)用.
8086是Inter的16位微處理器
有16根數(shù)據(jù)線和20根地址線,它既能處理16位數(shù)據(jù),也能處理8位數(shù)據(jù)
內(nèi)部數(shù)據(jù)總線都是按16位設(shè)計(jì)的,單外部數(shù)據(jù)總線只有8條
【騰訊軟件測試面試題】相關(guān)文章:
職場跳槽首選軟件測試11-24
騰訊測試實(shí)習(xí)筆試題(2010中山大學(xué))11-21
軟件測試筆試題及答案02-21
軟件測試筆試題201511-24
騰訊面試經(jīng)驗(yàn)10-15
軟件測試:4大魅力吸引跳槽11-18
軟件測試筆試題及答案下載02-24
騰訊筆試感受02-23
騰訊面試流程分享11-19