華為面試題
面試是華為公司錄用考試的關(guān)鍵環(huán)節(jié)。下面是由學(xué)習(xí)啦小編分享的華為面試題,希望對你有用。
華為面試題(一)
1.static有什么用途?(請至少說明兩種)
1)在函數(shù)體,一個被聲明為靜態(tài)的變量在這一函數(shù)被調(diào)用過程中維持其值不變。
2) 在模塊內(nèi)(但在函數(shù)體外),一個被聲明為靜態(tài)的變量可以被模塊內(nèi)所用函數(shù)訪問,但不能被模塊外其它函數(shù)訪問。它是一個本地的全局變量。
3) 在模塊內(nèi),一個被聲明為靜態(tài)的函數(shù)只可被這一模塊內(nèi)的其它函數(shù)調(diào)用。那就是,這個函數(shù)被限制在聲明它的模塊的本地范圍內(nèi)使用
2.引用與指針有什么區(qū)別?
1) 引用必須被初始化,指針不必。
2) 引用初始化以后不能被改變,指針可以改變所指的對象。
3) 不存在指向空值的引用,但是存在指向空值的指針。
3.描述實(shí)時系統(tǒng)的基本特性
在特定時間內(nèi)完成特定的任務(wù),實(shí)時性與可靠性。
4.全局變量和局部變量在內(nèi)存中是否有區(qū)別?如果有,是什么區(qū)別? 全局變量儲存在靜態(tài)全局?jǐn)?shù)據(jù)段,局部變量在堆棧。
5.什么是平衡二叉樹?
左右子樹都是平衡二叉樹 且左右子樹的深度差值的絕對值不大于1。
6.堆棧溢出一般是由什么原因?qū)е碌?
沒有回收垃圾資源。
7.什么函數(shù)不能聲明為虛函數(shù)?
constructor函數(shù)不能聲明為虛函數(shù)。
8.冒泡排序算法的時間復(fù)雜度是什么?
時間復(fù)雜度是O(n^2)。
9.寫出float x 與“零值”比較的if語句。
if(x>0.000001&&x<-0.000001)
10.Internet采用哪種網(wǎng)絡(luò)協(xié)議?該協(xié)議的主要層次結(jié)構(gòu)?
Tcp/Ip協(xié)議主要層次結(jié)構(gòu)為: 應(yīng)用層/傳輸層/網(wǎng)絡(luò)層/數(shù)據(jù)鏈路層/物理層。
11.Internet物理地址和IP地址轉(zhuǎn)換采用什么協(xié)議?
ARP (Address Resolution Protocol)(地址解析協(xié)議)
12.IP地址的編碼分為哪倆部分?
IP地址由兩部分組成,網(wǎng)絡(luò)號和主機(jī)號。不過是要和“子網(wǎng)掩碼”按位與上之后才能區(qū)分哪些是網(wǎng)絡(luò)位哪些是主機(jī)位。
13.用戶輸入M,N值,從1至N開始順序循環(huán)數(shù)數(shù),每數(shù)到M輸出該數(shù)值,直至全部輸出。寫出C程序。
循環(huán)鏈表,用取余操作做
華為面試題(二)
1.請你分別劃劃OSI的七層網(wǎng)絡(luò)結(jié)構(gòu)圖,和TCP/IP的五層結(jié)構(gòu)圖? OSI/ISO根據(jù)整個計(jì)算機(jī)網(wǎng)絡(luò)功能將網(wǎng)絡(luò)分為:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層、應(yīng)用層七層。也稱“七層模型”。 TCP/IP“五層模型”分為:物理層、網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層(IP層)、傳輸層(TCP/UDP層)、應(yīng)用層。
2.請你詳細(xì)的解釋一下IP協(xié)議的定義,在哪個層上面,主要有什么作用? TCP與UDP呢?
IP協(xié)議是網(wǎng)絡(luò)層的協(xié)議,它實(shí)現(xiàn)了自動路由功能,也就是尋徑的功能。TCP協(xié)議是傳輸層的協(xié)議,它向下屏蔽了IP協(xié)議不可靠傳輸?shù)奶匦?,向上提供一個可靠的點(diǎn)到點(diǎn)的傳輸;UDP也是傳輸層的協(xié)議,提供的是一種無連接的服務(wù),主要考慮到很多應(yīng)用不需要可靠的連接,但需要快速的傳輸,如局域網(wǎng)中的計(jì)算機(jī)傳輸文件一般使用UDP協(xié)議。
3.請問交換機(jī)和路由器分別的實(shí)現(xiàn)原理是什么?分別在哪個層次上面實(shí)現(xiàn)的?
交換機(jī)用在局域網(wǎng)中,交換機(jī)通過記錄局域網(wǎng)內(nèi)各節(jié)點(diǎn)機(jī)器的MAC地址就可以實(shí)現(xiàn)傳遞報文,無需看報文中的IP地址。路由器識別不同網(wǎng)絡(luò)的方法是通過識別不同網(wǎng)絡(luò)的網(wǎng)絡(luò)ID號(IP地址的高端部分)進(jìn)行的,所以為了保證路由成功,每個網(wǎng)絡(luò)都必須有一個唯一的網(wǎng)絡(luò)編號。路由器通過察看報文中IP地址來決定路徑,向那個子網(wǎng)(下一跳)路由。也就是說交換機(jī)工作在數(shù)據(jù)鏈路層看MAC地址,路由器工作在網(wǎng)際層看IP地址。但是由于現(xiàn)在網(wǎng)絡(luò)設(shè)備的發(fā)展,很多設(shè)備既有交換機(jī)的功能有由路由器的功能(交換式路由器)使得兩者界限越來越模糊。
4.請問C++的類和C里面的struct有什么區(qū)別?
C++的class具有數(shù)據(jù)封裝功能,其包含屬性訪問級別可以為
private,public和protect,還具有實(shí)現(xiàn)類接口功能和輔助功能的操
作函數(shù),而struct屬性訪問權(quán)限只有public,沒有數(shù)據(jù)封裝功能,也就沒有實(shí)現(xiàn)信息隱藏這一面向?qū)ο蟮乃枷氲臋C(jī)制,struct本身不含有操作函數(shù),只有數(shù)據(jù)。
5.請講一講析構(gòu)函數(shù)和虛函數(shù)的用法和作用?
析構(gòu)函數(shù)是在類對象死亡時由系統(tǒng)自動調(diào)用,其作用是用來釋放對象的指針數(shù)據(jù)成員所指的動態(tài)空間,如果在構(gòu)造函數(shù)中,你申請了動態(tài)空間,那么為了避免引起程序錯誤,你必須在析構(gòu)函數(shù)中釋放這部分內(nèi)存空間。如果基類的函數(shù)用virtual修飾,成為虛函數(shù),則其派生類相應(yīng)的重載函數(shù)仍能繼承該虛函數(shù)的性質(zhì),虛函數(shù)進(jìn)行動態(tài)聯(lián)編,也即具有多態(tài)性,也就是派生類可以改變基類同名函數(shù)的行為,在面向?qū)ο笫澜缰?,多態(tài)是最強(qiáng)大的機(jī)制,虛函數(shù)就是這一機(jī)制的c++實(shí)現(xiàn)方式。
6.全局變量和局部變量有什么區(qū)別?實(shí)怎么實(shí)現(xiàn)的?操作系統(tǒng)和編譯器是怎么知道的?
全局變量是整個程序都可訪問的變量,誰都可以訪問,生存期在整個程序從運(yùn)行到結(jié)束(在程序結(jié)束時所占內(nèi)存釋放);而局部變量存在于模塊(子程序,函數(shù))中,只有所在模塊可以訪問,其他模塊不可直接訪問,模塊結(jié)束(函數(shù)調(diào)用完畢),局部變量消失,所占據(jù)的內(nèi)存釋放。 操作系統(tǒng)和編譯器,可能是通過內(nèi)存分配的位置來知道的,全局變量分配在全局?jǐn)?shù)據(jù)段并且在程序開始運(yùn)行的時候被加載. 局部變量則分配在堆棧里面。
7.8086是多少位的系統(tǒng)?在數(shù)據(jù)總線上是怎么實(shí)現(xiàn)的?
答:8086的機(jī)器字長是16位,8086使用40個引腳的16個做地址/數(shù)據(jù)復(fù)用引腿來傳輸數(shù)據(jù),一次讀寫過程由一個基本總線周期完成,它由4個時鐘(CLK)周期組成,按時間順序定義為T1、T2、T3、T4。在T1期間8086發(fā)出訪問目的地的地址信號和地址鎖存選通信號ALE;T2期間發(fā)出讀寫命令信號RD、WR及其它相關(guān)信號;T3期間完成數(shù)據(jù)的訪問;T4結(jié)束該總線周期??梢姡刂放c數(shù)據(jù)信號不會同時出現(xiàn)在一個時鐘(CLK)周期,二者可以分時復(fù)用同一組引線。
看過“華為面試題”的人還看了:
2.關(guān)于Android開發(fā)工程師的面試題
3.華為英語面試試題
華為面試題
上一篇:護(hù)士面試題目及答案
下一篇:華為軟件測試面試題