中興認證面試問題含答案_第1頁
中興認證面試問題含答案_第2頁
中興認證面試問題含答案_第3頁
中興認證面試問題含答案_第4頁
中興認證面試問題含答案_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、中興認證面試題(附帶答案)1、工作經(jīng)歷、都在做什么,現(xiàn)在做什么。根據(jù)自身情況進行答辯。2、前臺測試流程?準備工具與工參,調(diào)試軟件與設(shè)備,確定目標,規(guī)劃路線,根據(jù)測試內(nèi)容設(shè)置相應(yīng)模板, 測試準備工作,根據(jù)測試要求完成測試并保存好LOG需要的設(shè)備有:筆記本電腦,GPS逆變器,加密狗,測試終端,數(shù)據(jù)線。3、主要關(guān)注指標那些?LTE測試中主要關(guān)注 PCI (小區(qū)的標識碼)、 RSRP(參考信號的平均功率,表示小區(qū)信 號覆蓋的好壞)、SINR(相當于信噪比但不是信噪比,表示信號的質(zhì)量的好壞)、RSSI( Received Signal Strength Indicator ,指的是手機接收到的總功率,包

2、括有用信號、干擾和底噪)、 PUSCHPower (UE 的發(fā)射功率)、傳輸模式(TM3為雙流模式)、Throughput DL, Throughput UL上下行速率、 RRCSetup Success Rate(無線資源建立成功率)、ERABSetup Success Rate (無線接入承載建立成功率)、Access Success Rate (接入成功率)【撥測 10次,成功率100% ,這三個指標是 UE到eNodeB接入層連接建立成功率的考核指標。4、速率上不去的原因?1)硬件性能問題:終端異常(重啟或更換終端)、故障(更換終端);服務(wù)器不穩(wěn)定(更換服務(wù)器地址、 或同時開啟迅雷多線

3、程下載、灌包);基站硬件故障(重啟基站或更換硬件);傳輸配置問題或故障(核查并更換傳輸); 天線硬件性能受限(更換單收單發(fā)天線為雙收雙發(fā)或智能天線);2)覆蓋問題:弱覆蓋(RS、RF優(yōu)化或者建議加站);過覆蓋(RS、RF優(yōu)化);3)干擾問題:PCI沖突(換PCI、RS、RF優(yōu)化);業(yè)務(wù)信道干擾(RS、RF優(yōu)化);導(dǎo)頻污染(換PCI、RS、RF優(yōu)化);網(wǎng)外干擾(通過掃頻儀測試定位和排除); 4)鄰區(qū)問題:鄰區(qū)漏配,外部鄰區(qū)參數(shù)設(shè)置錯誤等(鄰區(qū)優(yōu)化);5)切換參數(shù)設(shè)置問題:遲滯、CIO等設(shè)置不合理導(dǎo)致頻繁切換(切換參數(shù)優(yōu)化);影響上下行速率總體概括為:UE、服務(wù)器、無線環(huán)境、信號強度和質(zhì)量、用戶數(shù)

4、量、系統(tǒng)帶寬、傳輸模式等。5、RSRP SINR好速率上不去的原因有哪些?1)檢查UE終端設(shè)置是否正常;2)檢查服務(wù)器的線程設(shè)置是否正確;3)請后臺協(xié)查當前服務(wù)小區(qū)的用戶數(shù)量,系統(tǒng)帶寬設(shè)置,傳輸模式設(shè)置,是否有基站告警 等;4)是否存在模三干擾,切換遲滯等參數(shù)設(shè)置是否合理等;5)進行上行和下行 UDP灌包,在UE側(cè)和eNodeB的實時速率觀察,排查空原因; 6)掃頻確定無外部干擾;6、小區(qū)搜索的過程?1、檢測PSCH(用于獲得5ms時鐘,并獲得小區(qū)ID組內(nèi)的具體小區(qū)ID)2、檢測SSCH(用于獲得無線幀時鐘、小區(qū)ID組、BCH天線配置)3、檢測下行參考信號(用于獲得BCHK線配置,是否采用位移

5、導(dǎo)頻)4、讀取BCH(用于獲得其它小區(qū)信息)7、LTE的幀結(jié)構(gòu)。FDD模式下,10ms的無線幀被分為10個子幀,每個子幀包括兩個時隙,每個時隙長為;TDD模式下,每個10ms無線幀包括2個長度為5ms的半幀,每個半幀由 4個數(shù)據(jù)子幀和 1個特殊子幀組成。8、時隙與特殊時隙?LTE FDD的幀結(jié)構(gòu):幀長 10ms,包括20個時隙(slot)和10個子幀(subframe)。每個子幀包 括2個時隙。LTE的TTI為1個子幀1m$LTE TDD的幀結(jié)構(gòu):幀長10ms,分為兩個長為 5ms的半幀,每個半幀包含 8個長為0.5ms 的時隙和 3 個特殊時隙(域): DwPTS(Downlink Pilo

6、t TimeSlot) 、GP(Guard Period)和 UpPTS(Uplink Pilot TimeSlot) 。 DwPTSF口 UpPTS的長度是可配置的,但是DwPTS UpPTS和GP的總長度為1m3子幀1和6包含DwPTS GP和UpPTS 系統(tǒng)特殊時隙的概念解釋:DwPTS最多12個symbol,最少3個symbol ,可用于傳送下行數(shù)據(jù)和信令;UpPTS: UpPTS上不發(fā)任何控制彳t令或數(shù)據(jù),UpPTS長度為2個或1個symbol,2個符號時用于短RACH Sounding RS,1個符號時只用于 sounding ;GP:保證距離天線遠近不同的UE的上行信號在eNB的

7、天線空口對齊;提供上下行轉(zhuǎn)化時間GP大小決定了支持小區(qū)半徑的大小,LTE TDD最大可以支持100km;避免相鄰基站間上下行干擾。9、網(wǎng)優(yōu)都關(guān)注哪些指標,怎么處理切換差小區(qū)。簇優(yōu)化關(guān)注指標:LTE覆蓋率、PDCP上/下行吞吐率、平均 RSRP平均SINR切換成功 率、RRC建立成功率、E-RAB建立成功率、掉線次數(shù) /掉線率。后臺關(guān)注指標:RRC連接建立成功率、PDCP層吞吐量、E-RAB建立成功率、無線接通率、 無線掉線率、E-RAB掉線率、RRC連接重建比率、eNB間切換成功率、eNB內(nèi)切換成功率、 小區(qū)內(nèi)的平均用戶數(shù)/最大用戶數(shù),上/下行PRB資源使用的平均個數(shù)。處理切換差小區(qū)的思路:1

8、)覆蓋過差,eNB無法正確解調(diào)UE上報的測量報告;2)未配置測量控制信息;3) UE測量配置中測量頻點配置錯誤;4)鄰區(qū)關(guān)系配置錯誤或漏配;(以下為optional ,可作為加分點)5)干擾;6) T304配置過短;7)隨機接入功率配置或信道配置不當;8)接納控制失敗10、切換的信令。以TD-LTE為例:當UE在CONNECTED模式下時,eNodeB可以根據(jù)UE上報的測量信 息來判決是否需要執(zhí)行切換,如果需要切換,則發(fā)送切換命令給 UE, UE不區(qū)分切換是否改 變了 eNodeB。非競爭切換流程如下:1)源側(cè)ENB下發(fā)MeasurementControl (RRC重配消息)給 UE終端;2)

9、 UE 進彳亍 RRC 消息應(yīng)答(Measurement Report );3)源側(cè)ENB進行切換判決(HO Request )給目標側(cè)ENB,目標側(cè)ENB進行接納控制, 進行應(yīng)答 HO Request ACK ;4)源側(cè)ENB下發(fā)HO COMMAND給UE,指示UE與目標小區(qū)進行下行同步;5)目標側(cè)ENB與UE間進行消息交互應(yīng)答,建立RRC連接;6)目標側(cè)ENB與核心網(wǎng)進行路由更新,并通知源側(cè)ENB進行資源釋放;以下是L3 Message的切換信令示意圖:系統(tǒng)內(nèi)站間切換信令流程:11、LTE位置更新信令。當UE進入一個小區(qū),該小區(qū)所屬TAI不在UE保存的TAI list內(nèi)時,UE發(fā)起正常TA

10、U流程,分為IDLE和CONNECTED (即切換時)下:(1) IDLE下,IDLE下發(fā)起的不設(shè)置active標識的正常TAU流程圖如下: CONNECTED下發(fā)起的TAU流程:12、ATTACHE程。首先UE開機后會先在上次駐留的小區(qū)上嘗試;如果沒有,就要在劃分給LTE系統(tǒng)的頻帶范圍內(nèi)做全頻段掃描,發(fā)現(xiàn)信號較強的頻點去嘗試,找到中心頻點開始接收 PSS (主同步信號),通過接收 PSS可以判斷出是 FDD還是TDD,以及組內(nèi)cell ID ,之后繼續(xù)接收 SSS (輔同步信號),通過接收 SSS可以得到小區(qū)組ID (可以得出小區(qū)ID)以及10ms的邊界 進而實現(xiàn)幀同步,繼續(xù)開始讀取PBCH

11、上的信息了,首先是接受CRS,這樣可以實現(xiàn)時域和 頻域的精確同步,在 PBCH上接收傳輸?shù)?MIB消息,接收PDSCH上傳輸?shù)腟IB消息,開始 附著過程,見如下:處在RRC_IDLE態(tài)的UE進彳t Attach過程,首先發(fā)起隨機接入過程,即 MSG1消息;eNB檢測到MSG1消息后,向UE發(fā)送隨機接入響應(yīng)消息,即 MSG2消息;UE收到隨機接入響應(yīng)后,根據(jù)MSG2的TA調(diào)整上行發(fā)送時機,向 eNB發(fā)送RRCConnectionRequest 消息;eNB向UE發(fā)送RRCConnectionSetup消息,包含建立 SRB1承載信息和無線資源配置 信息;UE完成SRB1承載和無線資源配置, 向e

12、NB發(fā)送RRCConnectionSetupComplete 消息, 包含 NAS 層 Attach request 信息;eNB 選擇 MME,向 MME 發(fā)送 INITIAL UE MESSAGE 消息,包含 NAS 層 Attach request 消息;MME向eNB發(fā)送INITIAL CONTEXT SETUP REQUEST 消息,請求建立默認承載, 包含 NAS 層 Attach Accept、Activate default EPS bearer context request 消息;eNB接收到INITIAL CONTEXT SETUP REQUEST 消息,如果不包含 UE

13、能力信息,貝U eNB 向 UE 發(fā)送 UECapabilityEnquiry 消息,查詢 UE 能力;UE向eNB發(fā)送UECapabilityInformation 消息,報告 UE能力信息;eNB 向 MME 發(fā)送 UE CAPABILITY INFO INDICATION 消息,更新 MME 的 UE 能力信息;eNB根據(jù)INITIAL CONTEXT SETUP REQUEST 消息中UE支持的安全信息,向 UE發(fā) 送SecurityModeCommand 消息,進行安全激活;UE向eNB發(fā)送SecurityModeComplete 消息,表示安全激活完成;eNB根據(jù)INITIAL C

14、ONTEXT SETUP REQUEST 消息中的 ERAB建立信息,向 UE發(fā)送 RRCConnectionReconfiguration 消息進行UE資源重配,包括重配 SRB1和無線資源配置, 建立SRB2、DRB (包括默認承載)等;UE 向 eNB 發(fā)送 RRCConnectionReconfigurationComplete 消息,表示資源配置完成;eNB向MME發(fā)送INITIAL CONTEXT SETUP RESPONSE 響應(yīng)消息,表明 UE上下文建 立完成;UE 向 eNB 發(fā)送 ULInformationTransfer 消息,包含 NAS 層 Attach Comple

15、te、Activate default EPS bearer context accept 消息;eNB向MME發(fā)送上行直傳 UPLINK NAS TRANSPORT消息,包含 NAS層Attach Complete Activate default EPS bearer context accept 消息。以下是L3 Message的附著流程:13、CSF映理思路,CSFB時延如何優(yōu)化?四元鑒權(quán)改為三元鑒權(quán)不允許跨LAC出現(xiàn)核心網(wǎng)優(yōu)化被叫選擇性鑒權(quán)立即指配打開14、RF優(yōu)化思路。1、弱覆蓋:A、增加站點;B、提升小區(qū)發(fā)射功率;C、調(diào)整天饋的俯仰角、下傾角,增強覆蓋。D無法調(diào)整,可做 2、3G

16、優(yōu)化;2、越區(qū)覆蓋:降低小區(qū)功率、下壓天線下傾角、調(diào)整方位角;鄰區(qū)漏配需優(yōu)化相應(yīng)的鄰區(qū) 關(guān)系;3、同頻MOD訐擾:控制小區(qū)覆蓋,調(diào)整覆蓋方向,重規(guī)劃 PCI;4、23G切換失敗:核查 2G參數(shù)是否配置正確;核查 2G鄰區(qū);查看23G切換參數(shù)。15、KPI優(yōu)化思路(切換、掉線等)。一般掉線和切換失敗處理思路:傳輸問題、ENB告警、UE故障等;鄰區(qū)漏配、錯配導(dǎo)致,包括同頻和異頻;弱覆蓋導(dǎo)致;上下行干擾導(dǎo)致,下行干擾一般包括MOD開擾、導(dǎo)頻污染等,上行干擾一般包括用戶間的上行干擾以及外部上行干擾;切換遲滯門限、重選門限的設(shè)置不合理導(dǎo)致;16、GSMfc要關(guān)注那些指標,怎么進行優(yōu)化?DT日常監(jiān)控關(guān)注的

17、有掉話率,擁塞率,話務(wù)量,無線接入性,彩信端到端成功率,路測 /CQT指標有覆蓋率、掉話率,接通率,半速率使用比例,異常事件的分析,如呼叫切換 失敗、切換失敗、位置更新。常見的優(yōu)化手段有:天饋調(diào)整解決弱覆蓋、越區(qū)覆蓋,鄰區(qū)優(yōu)化,切換門限參數(shù)優(yōu)化, 接入?yún)?shù)門限優(yōu)化,頻點優(yōu)化,干擾排查等等。17、LTE-2G優(yōu)先級,重選到 2G開關(guān)。參數(shù)建議參數(shù)路徑涉及到的主要參 數(shù)默認 值修 改 為備注配置管理- 修改區(qū)-管理網(wǎng)元-TD-LTE-E-UTRANTDD小區(qū)- 系統(tǒng)消息 調(diào)度系統(tǒng)消息調(diào)度ID3是否包含SIB7是1配置管理- 修改區(qū)- 管理網(wǎng)元-TD-LTE- 小區(qū)重 選配置E-UTRAN小區(qū)重 選

18、Snonintrasearch(同低優(yōu)先級 RSR砌量判決門 限)50(dB)20ThreshServing, Low P服務(wù)載頻低 門限)60重選到低優(yōu)先級 頻點服務(wù)小區(qū)的 RSR粥決門限配0(關(guān) 閉)置開關(guān)小區(qū)選擇所需的最小RSR限收水平(dBm-130-122頻內(nèi)小區(qū)重選所 需的最小接收水 平(dBm-130-122配置管理- 修改區(qū)- 管理網(wǎng)元-TD-LTE- 小區(qū)重 選配置-GSM小區(qū)重 選GERAN載頻數(shù) 目01配1就配一個 頻點組,配2 就是配置2個 頻點組GERAN載頻測量配置頻帶指不根據(jù)實際情況 配置,比如配 置為DCS18003, 那么最終重定 向下發(fā)的頻點 就是 DCS1

19、800 的頻點。詳細arfan數(shù)目0根據(jù)實際需要 配置每組配置 多少頻點,就 填多少。小區(qū)選擇所需的 最小接收水平(dBnj)-109重選到低優(yōu)先級GERANJ、區(qū)的低 門限(dB)1214GERANJ、區(qū)重選優(yōu)先級44起始ARFCN0根據(jù)實際情況 配置,一般配 置為0或者配 置為頻點組里 最小的GSM1 點arfan數(shù)目詳細列表建議配置1個 頻點組,可以 把 GSM90CJ口 GSM1800勺頻 點配置到一個 頻點組中, 1800 和 900 混 合配置時,” 頻帶“選擇 900 或 1800 都 可以;配置管理- 修改區(qū)- 管理網(wǎng)元-TD-LTE- 無線業(yè) 務(wù)配置全局業(yè)務(wù)開關(guān)UE去激活開關(guān)

20、開UE定時器中UE去激活定時器10s可根據(jù)實際 情況修改18、100RB如何計算得出?每個子幀最大可用的 RB數(shù)和子幀配比無關(guān),幀結(jié)構(gòu)和上,下行時隙配比是網(wǎng)絡(luò)設(shè)計好 的,根據(jù)協(xié)議來定,20M的系統(tǒng)帶寬,對應(yīng)的最大 RB數(shù)為100個,終端的做業(yè)務(wù)時的 RB是 由小區(qū)分配的。RB:頻域上連續(xù)12個子載波,時域上一個 slot ,稱為1個RB;RE頻域上一個子載波,時域上一個 symbol,稱為1個Rg占用帶寬=子載波寬度*每RB的子載波數(shù)*RB數(shù)目;其中每個子載波寬度=15K,每RB的子載波數(shù)=12,可以計算出20M帶寬對應(yīng)100個RR 19、怎么處理無線掉線率 TOP小區(qū)。TOP小區(qū)處理:站點告

21、警查詢失敗時段:區(qū)分是個別時段還是連續(xù),是某天質(zhì)差還是 連續(xù)質(zhì)差;檢查網(wǎng)管配置,是否存在鄰區(qū)漏配,錯配現(xiàn)象;應(yīng)用分析工具分析是否存在覆蓋 問題;查看周邊同 MOD3小區(qū)是否也存在質(zhì)差;分析 TA報告,查看上/下行是否存在問題, 進行針對性調(diào)整。1、C+域Java中的異常處理機制的簡單原理和應(yīng)用。答:當JAVA程序違反了 JAVA的語義規(guī)則時,JAVA虛擬機就會將發(fā)生的錯誤表示為一 個異常。違反語義規(guī)則包括2種情況。一種是JAVA類庫內(nèi)置的語義檢查。例如數(shù)組下標越界,會引發(fā)IndexOutOfBoundsException; 訪問null的對象時會引發(fā) NullPointerException

22、。另一種情況就是 JAVA允許程序員擴展這種語義檢查,程序員可以 創(chuàng)建自己的異常,并自由選擇在何時用throw關(guān)鍵字引發(fā)異常。所有的異常都是java.lang.Thowable的子類。2、Java的接口和C+的虛類的相同和不同處。答:由于Java不支持多繼承,而有可能某個類或?qū)ο笠褂梅謩e在幾個類或?qū)ο罄锩?的方法或?qū)傩?,現(xiàn)有的單繼承機制就不能滿足要求。與繼承相比,接口有更高的靈活性, 因為接口中沒有任何實現(xiàn)代碼。當一個類實現(xiàn)了接口以后,該類要實現(xiàn)接口里面所有的方法和屬性,并且接口里面的屬性在默認狀態(tài)下面都是public static,所有方法默認情況下是public 。一個類可以實現(xiàn)多個接口

23、。3、垃圾回收的優(yōu)點和原理。并考慮 2種回收機制。答:Java語言中一個顯著的特點就是引入了垃圾回收機制,使C+程序員最頭疼的內(nèi)存管理的問題迎刃而解,它使得Java程序員在編寫程序的時候不再需要考慮內(nèi)存管理。由于有個垃圾回收機制,Java中的對象不再有“作用域”的概念,只有對象的引用才有“作 用域”。垃圾回收可以有效的防止內(nèi)存泄露,有效的使用可以使用的內(nèi)存。垃圾回收器通 常是作為一個單獨的低級別的線程運行,不可預(yù)知的情況下對內(nèi)存堆中已經(jīng)死亡的或者長 時間沒有使用的對象進行清楚和回收,程序員不能實時的調(diào)用垃圾回收器對某個對象或所 有對象進行垃圾回收。回收機制有分代復(fù)制垃圾回收和標記垃圾回收,增量

24、垃圾回收。4、請說出你所知道的線程同步的方法。答:wait():使一個線程處于等待狀態(tài),并且釋放所持有的對象的lock。sleep():使一個正在運行的線程處于睡眠狀態(tài),是一個靜態(tài)方法,調(diào)用此方法要捕捉 InterruptedException 異常。notify():喚醒一個處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時候,并不能確切的喚醒某一個等待狀態(tài)的線程,而是由JVM確定喚醒哪個線程,而且不是按優(yōu)先級。Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個對象的鎖,而是讓它們競爭。5、請講一講析構(gòu)函數(shù)和虛函數(shù)的用法和作用。答:置于“”是析構(gòu)函數(shù);析構(gòu)函數(shù)因使用“

25、”符號 (邏輯非運算符),表示它為 逆構(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ù),我們可以靈活的進行動態(tài)綁定,當然是以一定的開銷為代價。如果父類的函數(shù)(方法)根本沒有必要或者無法實現(xiàn),完全要依賴子類去實現(xiàn)的話, 可以把此函數(shù)(方法)設(shè)為 virturl 函數(shù)名=0,我們把這樣的函數(shù)(方

26、法)稱為純虛函數(shù)。 如果一個類包含了純虛函數(shù),稱此類為抽象類。在JAVA里沒有象C+中的,所謂的析構(gòu)函數(shù),因為當一個對象不在使用的時候,它會自動被垃圾回收器回收,所以也就用不著析構(gòu)函數(shù)了 ,那個finalize也只有在被垃圾回收器回收,才會被執(zhí)行,而且很多時候,垃圾回收器并不一定執(zhí)行,所以它不能當做 C+用的所 謂的析構(gòu)函數(shù)使用。虛函數(shù)在JAVA里也是沒有的,比較象近的應(yīng)該算是interface 。6、Error與Exception 有什么區(qū)別?答:Error表示系統(tǒng)級的錯誤和程序不必處理的異常,Exception表示需要捕捉或者需要程序進行處理的異常。7、在java中一個類被聲明為final

27、類型,表示了什么意思?答:表示該類不能被繼承,是頂級類。8、描述一下你最常用的編程風(fēng)格。答:(1)類名首字母應(yīng)該大寫。字段、方法以及對象(句柄)的首字母應(yīng)小寫。對于 所有標識符,其中包含的所有單詞都應(yīng)緊靠在一起,而且大寫中間單詞的首字母。Java包(Package)屬于一種特殊情況:它們?nèi)际切懽帜?,即便中間的單詞亦是如此。對于域名擴展名稱,如 com, org , net或者edu等,全部都應(yīng)小寫(這也是Java 1.1和Java 1.2的區(qū)別之一)。(2)為了常規(guī)用途而創(chuàng)建一個類時,請采取“經(jīng)典形式”,并包含對下述元素的定義:equals()hashCode()toString()clo

28、ne()(implement Cloneable ) implement Serializable(3)對于自己創(chuàng)建的每一個類,都考慮置入一個main(),其中包含了用于測試那個類的代碼。為使用一個項目中的類,我們沒必要刪除測試代碼。若進行了任何形式的改動,可方便地返回測試。這些代碼也可作為如何使用類的一個示例使用。(4)應(yīng)將方法設(shè)計成簡要的、功能性單元,用它描述和實現(xiàn)一個不連續(xù)的類接口部分。理想情況下,方法應(yīng)簡明扼要。若長度很大,可考慮通過某種方式將其分割成較短的幾個 方法。這樣做也便于類內(nèi)代碼的重復(fù)使用(有些時候,方法必須非常大,但它們?nèi)詰?yīng)只做 同樣的一件事情)。(5)設(shè)計一個類時,請設(shè)身

29、處地為客戶程序員考慮一下(類的使用方法應(yīng)該是非常明 確的)。然后,再設(shè)身處地為管理代碼的人考慮一下(預(yù)計有可能進行哪些形式的修改, 想想用什么方法可把它們變得更簡單)。(6)使類盡可能短小精悍,而且只解決一個特定的問題。下面是對類設(shè)計的一些建議:一個復(fù)雜的開關(guān)語句:考慮采用“多形”機制數(shù)量眾多的方法涉及到類型差別極大的操作: 考慮用幾個類來分別實現(xiàn)許多成員。9、heap和stack有什么區(qū)別。答:棧是一種線形集合,其添加和刪除元素的操作應(yīng)在同一段完成。棧按照后進先出的方式進行處理。堆是棧的一個組成元素10、如果系統(tǒng)要使用超大整數(shù)(超過 long長度范圍),請你設(shè)計一個數(shù)據(jù)結(jié)構(gòu)來存儲 這種超大型

30、數(shù)字以及設(shè)計一種算法來實現(xiàn)超大整數(shù)加法運算)。答:public class BigInt()int ArrOne = new ArrOne1000;String intString=;public int Arr(String s)intString = s;for(int i=0;iArrOne.leght;i+) 11、如果要設(shè)計一個圖形系統(tǒng),請你設(shè)計基本的圖形元件(Point,Line,Rectangle,Triangle)的簡單實現(xiàn)答:12、談?wù)?final, finally, finalize的區(qū)別。答:final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可 繼

31、承。finally是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行。finalize 是Object類的一個方法,在垃圾收集器執(zhí)行的時候會調(diào)用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關(guān)閉文件等。13、Anonymous Inner Class ( 匿名內(nèi)部類)是否可以extends(繼承)其它類,是否可 以 implements(實現(xiàn))interface( 接 口)?答:匿名的內(nèi)部類是沒有名字的內(nèi)部類。不能 extends(繼承)其它類,但一個內(nèi)部類 可以作為一個接口,由另一個內(nèi)部類實現(xiàn)。14、Static Nested Class 和Inner Class的不同,說得越多

32、越好 (面試題有的很籠統(tǒng))。答:Nested Class(一般是 C+的說法),Inner Class (一般是 JAVA的說法)。Java內(nèi)部類與C+然套類最大的不同就在于是否有指向外部的引用上。注:靜態(tài)內(nèi)部類(Inner Class )意味著1創(chuàng)建一個static 內(nèi)部類的對象,不需要一 個外部類對象,2不能從一個static 內(nèi)部類的一個對象訪問一個外部類對象Static Nested Class是被聲明為靜態(tài)(static )的內(nèi)部類,它可以不依賴于外部 類實例被實例化。而通常的內(nèi)部類需要在外部類實例化后才能實例化。15、HashMap和 Hashtable 的區(qū)別。答:都屬于Map接

33、口的類,實現(xiàn)了將惟一鍵映射到特定的值上。HashMap類沒有分類或者排序。它允許一個 null鍵和多個null 值。Hashtable 類似于HashMap,但是不允許 null 鍵和null 值。它也比 HashMap慢, 因為它是同步的。16、 Collection 和 Collections 的區(qū)另答:Collections是針對集合類的一個幫助類,是 java.util 下的類,它包含一系列靜態(tài)方法實現(xiàn)對各種集合的搜索、排序、線程安全化等操作。Collection是集合類的上級接口,是 java.util 下的接口,它是各種集合結(jié)構(gòu)的父接口,繼承與他的接口主要有Set 和List 。1

34、7、什么時候用 assert。答:assertion(斷言)在軟件開發(fā)中是一種常用的調(diào)試方式,很多開發(fā)語言中都支持這種機制。在實現(xiàn)中,assertion 就是在程序中的一條語句,它對一個boolean表達式進行檢查,一個正確程序必須保證這個boolean表達式的值為true ;如果該值為false ,說明程序已經(jīng)處于不正確的狀態(tài)下,系統(tǒng)將給出警告或退出。一般來說,assertion 用于保證程序最基本、關(guān)鍵的正確性。assertion 檢查通常在開發(fā)和測試時開啟。為了提高性能,在軟件發(fā)布后,assertion 檢查通常是關(guān)閉的。18、GC是什么?為什么要有 GC?(基礎(chǔ))。答:GC是垃圾收集的

35、意思(Gabage Collection ),內(nèi)存處理是編程人員容易出現(xiàn)問 題的地方,忘記或者錯誤的內(nèi)存回收會導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,Java提供的GC功能可以自動監(jiān)測對象是否超過作用域從而達到自動回收內(nèi)存的目的,Java語言沒有提供釋放已分配內(nèi)存的顯示操作方法。Java程序員不用擔心內(nèi)存管理,因為垃圾收集器會自動進行管理。要請求垃圾收集,可以調(diào)用下面的方法之一:System.gc()Runtime.getRuntime().gc() 。19、String s = new String(xyz);創(chuàng)建了幾個 String Object?答:兩個對象,一個是“ xyx”,一個是指向“xy

36、x”的引用對象 s。20、Math.round(11.5) 等於多少? Math.round(-11.5)等於多少?答:Math.round(11.5) 返回(long) 12, Math.round(-11.5) 返回(long) -11;round方法返回與參數(shù)最接近的長整數(shù),參數(shù)加 1/2后求其floor.21、short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?答:short s1 = 1; s1 = s1 + 1; 有錯,s1是short型,s1+1是int型,不能顯式轉(zhuǎn) 化為 short 型??尚薷臑?s1 =(sh

37、ort)(s1 + 1)。 short s1 = 1; s1 += 1 正確。22、sleep() 和wait()有什么區(qū)別?搞線程的最愛答:sleep是線程類(Thread )的方法,導(dǎo)致此線程暫停執(zhí)行指定時間,給執(zhí)行機會 給其他線程,但是監(jiān)控狀態(tài)依然保持,到時后會自動恢復(fù)。調(diào)用 sleep不會釋放對象鎖。wait是Object類的方法,對此對象調(diào)用wait方法導(dǎo)致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發(fā)出notify 方法(或notifyAll )后本線程才進入對象鎖定池準備獲得對象鎖進入運行狀態(tài)。23、Java 有沒有 goto?答:java中的保留字,現(xiàn)在沒有在j

38、ava中使用。24、數(shù)組有沒有l(wèi)ength() 這個方法? String 有沒有l(wèi)ength() 這個方法?答:數(shù)組沒有l(wèi)ength。這個方法,有l(wèi)ength的屬性。String有l(wèi)ength() 這個方法。25、Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?答:方法的重寫Overriding 和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫 Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載 Overloading是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫 (Overri

39、ding)。子類的對象使用這個方法時,將調(diào)用子類中的定義,對它而言,父類中的 定義如同被“屏蔽” 了。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個 數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading) 。Overloaded的方法是可以改變 返回值的類型。26、Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢?是用=還是equals。?它們有何區(qū)別?答:Set里的元素是不能重復(fù)的,那么用iterator。方法來區(qū)分重復(fù)與否。equals。是判讀兩個Set是否相等。equals()和=方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的

40、對象的內(nèi)容和類型相配的話,返回真值。27、給我一個你最常見到的runtime exception 。答: ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArg

41、umentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFORMatExce

42、ption, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException28、error和exception 有什么區(qū)別?答:error表示恢復(fù)不是不可能但很困難的情況下的一種嚴重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。exception表示一種設(shè)計或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運行正常,從不會發(fā)生的情況。29、List, Set, Map 是否繼承自 Collection 接口?答:List

43、 , Set 是,Map 不是30、abstract class 和 interface有什么區(qū)別?答:聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類( abstract class ),它用于要 創(chuàng)建一個體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實例。然而可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向 具體子類的一個實例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract類的子類為它們父類中的所有抽象方法提供實現(xiàn),否則它們也是抽象類為。取而代之,在子類中實現(xiàn)該方法。 知道其行為的其它類可以在類中實現(xiàn)這些方法。接口(interface )

44、是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通 過實現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可 以定義static final成員變量。接口的實現(xiàn)與子類相似,除了該實現(xiàn)類不能從接口定義中 繼承行為。當類實現(xiàn)特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后, 它可以在實現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。由于有抽象類,它允許使用接 口名作為引用變量的類型。通常的動態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類 型轉(zhuǎn)換,instanceof 運算符可以用來決定某對象的類是否實現(xiàn)了接口。31、abstract 的method是否可同時是

45、static,是否可同時是 native ,是否可同時是synchronized?答:都不能32、接口是否可繼承接口 ?抽象類是否可實現(xiàn)(implements)接口?抽象類是否可繼承 實體類(concrete class)?答:接口可以繼承接口。抽象類可以實現(xiàn) (implements)接口,抽象類是否可繼承實體 類,但前提是實體類必須有明確的構(gòu)造函數(shù)。33、啟動一個線程是用run()還是start()?答:啟動一個線程是調(diào)用start()方法,使線程所代表的虛擬處理機處于可運行狀態(tài),這意味著它可以由JVM調(diào)度并執(zhí)行。這并不意味著線程就會立即運行。run()方法可以產(chǎn)生必須退出的標志來停止一個線

46、程。34、構(gòu)造器 Constructor 是否可被 override?答:構(gòu)造器 Constructor 不能被繼承,因此不能重寫Overriding ,但可以被重載Overloading 。35、是否可以繼承 String 類?答:String 類是final類故不可以繼承。36、當一個線程進入一個對象的一個synchronized 方法后,其它線程是否可進入此對象的其它方法?答:不能,一個對象的一個synchronized 方法只能由一個線程訪問。37、try 里有一個return語句,那么緊跟在這個try后的finally 里的code會不會被執(zhí)行,什么時候被執(zhí)行,在return前還是后

47、?答:會執(zhí)行,在return前執(zhí)行。38、程題:用最有效率的方法算出2乘以8等於幾?(有C背景的程序員特別喜歡問這種問題。)答:2 3個對象值相同(x.equals(y) = true) ,但卻可有不同的 hash code ,這句話對 不對?答:不對,有相同的 hash code 。40、一個對象被當作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返 回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?答:是值傳遞。Java編程語言只由值傳遞參數(shù)。當一個對象實例作為一個參數(shù)被傳遞 到方法中時,參數(shù)的值就是對該對象的引用。對象的內(nèi)容可以在被調(diào)用的方法中改變,但 對象的引用是永遠不會改變的

48、。41、swtich 是否能作用在 byte上,是否能作用在 long上,是否能作用在String 上?答:switch (expr1 )中,expr1是一個整數(shù)表達式。因此傳遞給switch 和case 語句的參數(shù)應(yīng)該是int、short、char 或者byte 。 long,string都不能作用于 swtich 。42、編程題:寫一個Singleton 出來。答:Singleton 模式主要作用是保證在Java應(yīng)用程序中,一個類 Class只有一個實例存在。一般Singleton 模式通常有幾種種形式:第一種形式:定義一個類,它的構(gòu)造函數(shù)為private 的,它有一個static 的pr

49、ivate的該類變量,在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用,繼而調(diào)用其中的方法。public class Singleton private Singleton()/在自己內(nèi)部定義自己一個實例,是不是很奇怪?/注意這是private只供內(nèi)部調(diào)用private static Singleton instance = new Singleton();/這里提供了一個供外部訪問本 class的靜態(tài)方法,可以直接訪問public static Singleton getInstance() return instance;第二種形式:public clas

50、s Singleton private static Singleton instance = null;public static synchronized Singleton getInstance() /這個方法比上面有所改進,不用每次都進行生成對象,只是第一次/使用時生成實例,提高了效率!if (instance=null)instance = new Singleton();return instance;其他形式:定義一個類,它白構(gòu)造函數(shù)為 private的,所有方法為static 的。一般認為第一種形式要更加安全些Hashtable 和 HashMapHashtable 繼承自

51、Dictionary 類,而 HashMap是 Java1.2 引進的 Mapinterface 的一 個實現(xiàn)HashMap允許將null作為一個entry 的key或者value ,而Hashtable 不允許還有就是,HashMa時巴Hashtable 的contains 方法去掉了,改成 containsvalue 和 containsKey 。因為contains 方法容易讓人引起誤解。最大的不同是,Hashtable 的方法是 Synchronize 的,而 HashMap不是,在多個線程訪問 Hashtable時,不需要自己為它的方法實現(xiàn)同步,而 HashMap 就必須為之提供外同步。Hashtable和HashM

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論