国产精品亚洲综合久久系列,一本大道香蕉青青久久,播放高清的播放器,国产在线观看无码不卡

蜜蜂職場(chǎng)文庫 > 面試技巧 >

java高級(jí)工程師面試題及答案

時(shí)間: 小龍 面試技巧

  Java是一個(gè)支持并發(fā)、基于類和面向?qū)ο蟮挠?jì)算機(jī)編程語言。那么Java高級(jí)工程師在面試前做好準(zhǔn)備很有必要,那么你了解基本面試題了嗎?以下是小編幫你們整理的java高級(jí)工程師面試題及答案,一起來學(xué)習(xí)啦。

  java高級(jí)工程師面試題及答案(一)

  1. Hibernate中:不看數(shù)據(jù)庫,不看XML文件,不看查詢語句,怎么樣能知道表結(jié)構(gòu)?

  解答:可以看與XML文件對(duì)應(yīng)的域模型。

  2.目前幾種主流數(shù)據(jù)庫軟件的應(yīng)用特點(diǎn)、適用范圍各是什么?

  解答:國際國內(nèi)的主導(dǎo)關(guān)系型數(shù)據(jù)庫管理系統(tǒng)有SQL Server、ORACLE、SYBASE、INFORMIX和 DB2。本文從性能,可伸縮性和并行性,安全性,操作簡(jiǎn)便,使用風(fēng)險(xiǎn),開放性,易維護(hù)性和價(jià)格,數(shù)據(jù)庫二次開發(fā)方面比較了SQL Server,Oracle、SYBASE、DB2、INFORMIX 數(shù)據(jù)庫:

  1)性能

  SQL Server:老版本多用戶時(shí)性能不佳,新版本的性能有了明顯的改善,各項(xiàng)處理能力都有了明顯的提高。保持了多項(xiàng)TPC-C(TPC-C值被廣泛用于衡量C/S環(huán)境下,由服務(wù)器和客戶端構(gòu)筑的整體系統(tǒng)的性能,它由事物處理性能委員會(huì)(TPC,Transaction Processing Corp)制定,TPC為非贏利性國際組織。)紀(jì)錄。

  Oracle :性能最高, 保持Windows NT下的TPC-C的世界記錄。

  SYBASE :性能較高,支持Sun、IBM、HP、Compaq和Veritas的集群設(shè)備的特性,實(shí)現(xiàn)高可用性。適應(yīng)于安全性要求極高的系統(tǒng)。

  DB2 :適用于數(shù)據(jù)倉庫和在線事物處理,性能較高。 客戶端支持及應(yīng)用模式。

  INFORMIX :性能較高,支持集群,實(shí)現(xiàn)高可用性。適應(yīng)于安全性要求極高的系統(tǒng),尤其是銀行,證券系統(tǒng)的應(yīng)用。

  2)可伸縮性,并行性

  SQL Server :以前版本SQL Server并行實(shí)施和共存模型并不成熟。很難處理大量的用戶數(shù)和數(shù)據(jù)卷。伸縮性有限。新版本性能有了較大的改善,在Microsoft Advanced Servers上有突出的表現(xiàn),超過了他的主要競(jìng)爭(zhēng)對(duì)手。

  Oracle :平行服務(wù)器通過使一組結(jié)點(diǎn)共享同一簇中的工作來擴(kuò)展Window NT的能力,提供高可用性和高伸縮性的簇的解決方案。如果Windows NT不能滿足需要, 用戶可以把數(shù)據(jù)庫移到UNIX中,具有很好的伸縮性。

  SYBASE :新版本具有較好的并行性,速度快,對(duì)巨量數(shù)據(jù)無明顯影響,但是技術(shù)實(shí)現(xiàn)復(fù)雜,需要程序支持,伸縮性有限。

  DB2 :DB2具有很好的并行性。DB2把數(shù)據(jù)庫管理擴(kuò)充到了并行的、多節(jié)點(diǎn)的環(huán)境。數(shù)據(jù)庫分區(qū)是數(shù)據(jù)庫的一部分,包含自己的數(shù)據(jù)、索引、配置文件、和事務(wù)日志。數(shù)據(jù)庫分區(qū)有時(shí)被稱為節(jié)點(diǎn)或數(shù)據(jù)庫節(jié)點(diǎn),伸縮性有限。

  INFORMIX :采用單進(jìn)程多線程的技術(shù),具有較好的并行性。但是僅運(yùn)行于UNIX平臺(tái),伸縮性有限。

  3)安全性

  SQL server :Microsoft Advanced Server 獲得最高安全認(rèn)證,服務(wù)器平臺(tái)的穩(wěn)定性是數(shù)據(jù)庫的穩(wěn)定性的基礎(chǔ),新版本的SQL的安全性有了極大的提高。 Oracle:獲得最高認(rèn)證級(jí)別的ISO標(biāo)準(zhǔn)認(rèn)證。 SYBASE :通過Sun公司J2EE認(rèn)證測(cè)試,獲得最高認(rèn)證級(jí)別的ISO標(biāo)準(zhǔn)認(rèn)證。 DB2 :獲得最高認(rèn)證級(jí)別的ISO標(biāo)準(zhǔn)認(rèn)證。 INFORMIX :獲得最高認(rèn)證級(jí)別的ISO標(biāo)準(zhǔn)認(rèn)證。

  4)操作簡(jiǎn)便

  SQL Server :操作簡(jiǎn)單,采用圖形界面。管理也很方便,而且編程接口特別友好(它的SQL-DMO讓編程變得非常方便!) ,從易維護(hù)性和價(jià)格上SQL Server明顯占有優(yōu)勢(shì)。 Oracle :較復(fù)雜, 同時(shí)提供GUI和命令行,在Windows NT和Unix, Linux 下操作相同。對(duì)數(shù)據(jù)庫管理人員要求較高。 SYBASE :復(fù)雜,使用命令行操作,對(duì)數(shù)據(jù)庫管理人員要求較高。 DB2 :操作簡(jiǎn)單,同時(shí)提供GUI和命令行,在Windows NT和Unix下操作相同。 INFORMIX :使用和管理復(fù)雜,命令行操作。對(duì)數(shù)據(jù)庫管理人員要求較高。

  5)使用風(fēng)險(xiǎn)

  SQL Server :完全重寫的代碼,性能和兼容性有了較大的提高,與Oracle,DB2的性能差距明顯減小。該產(chǎn)品的出臺(tái)經(jīng)歷了長(zhǎng)期的測(cè)試,為產(chǎn)品的安全和穩(wěn)定進(jìn)行了全面的檢測(cè),安全穩(wěn)定性有了明顯的提高。

  Oracle :長(zhǎng)時(shí)間的開發(fā)經(jīng)驗(yàn),完全向下兼容,可以安全的進(jìn)行數(shù)據(jù)庫的升級(jí),在企業(yè),政府中得到廣泛的應(yīng)用。并且如果在WINNT上無法滿足數(shù)據(jù)的要求,可以安全的把數(shù)據(jù)轉(zhuǎn)移到UNIX上來。

  SYBASE :開發(fā)時(shí)間較長(zhǎng),升級(jí)較復(fù)雜,穩(wěn)定性較好,數(shù)據(jù)安全有保障。風(fēng)險(xiǎn)小。在安全要求極高的銀行,證券行業(yè)中得到了廣泛的應(yīng)用。

  DB2 :在巨型企業(yè)得到廣泛的應(yīng)用,向下兼容性好。風(fēng)險(xiǎn)小。

  INFORMIX :開發(fā)時(shí)間較長(zhǎng),升級(jí)較復(fù)雜,穩(wěn)定性較好,數(shù)據(jù)安全有保障。風(fēng)險(xiǎn)小。在安全要求極高的銀行,證券行業(yè)中得到了廣泛的應(yīng)用。

  6)開放性

  SQL Server:只能在Windows 上運(yùn)行,C/S結(jié)構(gòu),只支持Windows客戶,可以用ADO,DAO,OLEDB,ODBC連接。Windows9X系列產(chǎn)品是偏重于桌面應(yīng)用,NT server適合各種大中小型企業(yè)。 操作系統(tǒng)的穩(wěn)定對(duì)數(shù)據(jù)庫是十分重要的。Windows平臺(tái)的可靠性,安全性經(jīng)過了最高級(jí)別的C2認(rèn)證的。在處理大數(shù)據(jù)量的關(guān)鍵業(yè)務(wù)時(shí)提供了較好的性能。

  Oracle :能在所有主流平臺(tái)上運(yùn)行(包括 Windows)。完全支持所有的工業(yè)標(biāo)準(zhǔn)。采用完全開放策略。多層次網(wǎng)絡(luò)計(jì)算,支持多種工業(yè)標(biāo)準(zhǔn),可以用ODBC,JDBC,OCI等網(wǎng)絡(luò)客戶連接??梢允箍蛻暨x擇最適合的解決方案。對(duì)開發(fā)商全力支持。

  SYBASE :能在所有主流平臺(tái)上運(yùn)行,在銀行業(yè)中得到了廣泛的應(yīng)用。

  DB2 :有較好的開放性,最適于海量數(shù)據(jù)??缙脚_(tái),多層結(jié)構(gòu),支持ODBC,JDBC等客戶。在大型的國際企業(yè)中得到最為廣泛的應(yīng)用,在全球的500家最大的企業(yè)中,大部分采用DB2數(shù)據(jù)庫服務(wù)器。

  IINFORMIX :僅運(yùn)行在UNIX平臺(tái),包括SUNOS、HPUX、 ALFAOSF/1。在銀行中得到廣泛的應(yīng)用。

  7)易維護(hù)性和價(jià)格

  SQL Server :從易維護(hù)性和價(jià)格上SQL Server明顯占有優(yōu)勢(shì)?;贛icrosoft的一貫風(fēng)格,SQL Server的圖形管理界面帶來了明顯的易用性, 微軟的數(shù)據(jù)庫管理員培訓(xùn)進(jìn)行的比較充分,可以輕松的找到很好的數(shù)據(jù)庫管理員,數(shù)據(jù)庫管理費(fèi)用比較低,SQL Server的價(jià)格也是很低的,但是在License的購買上會(huì)抬高價(jià)格??傮w來說SQL Server的價(jià)格在商用數(shù)據(jù)庫中是最低的。

  Oracle :從易維護(hù)性和價(jià)格上來說Oracle的價(jià)格是比較高的,管理比較復(fù)雜,由于Oracle的應(yīng)用很廣泛,經(jīng)驗(yàn)豐富的Oracle數(shù)據(jù)庫管理員可以比較容易的找到,從而實(shí)現(xiàn)Oracle的良好管理。因此Oracle的性能價(jià)格比在商用數(shù)據(jù)庫中是最好的。

  SYBASE :SYBASE的價(jià)格是比較低的,但是SYBASE的在企業(yè)和政府中的應(yīng)用較少,很難找到經(jīng)驗(yàn)豐富的管理員,運(yùn)行管理費(fèi)用較高。

  DB2 :價(jià)格高, 管理員少,在中國的應(yīng)用較少,運(yùn)行管理費(fèi)用都很高,適用于大型企業(yè)的數(shù)據(jù)倉庫應(yīng)用。

  INFORMIX :價(jià)格在這些系統(tǒng)中居于中間,與SYBASE一樣,在企業(yè)和政府中應(yīng)用較少,僅在銀行中得到了廣泛的應(yīng)用。經(jīng)驗(yàn)豐富的管理人員較少,運(yùn)行管理費(fèi)用高。

  8)數(shù)據(jù)庫二次開發(fā) SQL Server :數(shù)據(jù)庫的二次開發(fā)工具很多,包括Visual C++, Visual Basic等開發(fā)工具,可以實(shí)現(xiàn)很好的Windows應(yīng)用,開發(fā)容易。 Oracle :數(shù)據(jù)庫的二次開發(fā)工具很多,涵蓋了數(shù)據(jù)庫開發(fā)的各個(gè)階段,開發(fā)容易。 SYBASE :開發(fā)工具較少,經(jīng)驗(yàn)豐富的人員很少。 DB2 :在國外巨型企業(yè)得到廣泛的應(yīng)用,中國的經(jīng)驗(yàn)豐富的人員很少。 INFORMIX :在銀行業(yè)中得到廣泛的應(yīng)用,但是在中國的經(jīng)驗(yàn)豐富的人員很少。

  3.存儲(chǔ)過程和函數(shù)的區(qū)別

  解答:

  從參數(shù)的返回情況來看:

  如果返回多個(gè)參數(shù)值最好使用存儲(chǔ)過程,如果只有一個(gè)返回值的話可以使用函數(shù)。

  從調(diào)用情況來看:

  如果在SQL語句(DML或SELECT)中調(diào)用的話一定是存儲(chǔ)函數(shù)或存儲(chǔ)的封裝函數(shù)不可以是存儲(chǔ)過程,但調(diào)用存儲(chǔ)函數(shù)的時(shí)候還有好多限制以及函數(shù)的純度等級(jí)的問題,如果是在過程化語句中調(diào)用的話,就要看你要實(shí)現(xiàn)什么樣的功能。函數(shù)一般情況下是用來計(jì)算并返回一個(gè)計(jì)算結(jié)果而存儲(chǔ)過程一般是用來完成特定的數(shù)據(jù)操作(比如修改、插入數(shù)據(jù)庫表或執(zhí)行某些DDL語句等等),所以雖然他們的語法上很相似但用戶在使用他們的時(shí)候所需要完成的功能大部分情況下是不同的。

  java高級(jí)工程師面試題及答案(二)

  1. J2EE是什么?它包括哪些技術(shù)?

  解答:從整體上講,J2EE是使用Java技術(shù)開發(fā)企業(yè)級(jí)應(yīng)用的工業(yè)標(biāo)準(zhǔn),它是Java技術(shù)不斷適應(yīng)和促進(jìn)企業(yè)級(jí)應(yīng)用過程中的產(chǎn)物。適用于企業(yè)級(jí)應(yīng)用的J2EE,提供一個(gè)平臺(tái)獨(dú)立的、可移植的、多用戶的、安全的和基于標(biāo)準(zhǔn)的企業(yè)級(jí)平臺(tái),從而簡(jiǎn)化企業(yè)應(yīng)用的開發(fā)、管理和部署。J2EE是一個(gè)標(biāo)準(zhǔn),而不是一個(gè)現(xiàn)成的產(chǎn)品。

  主要包括以下這些技術(shù):

  1) Servlet Servlet是Java平臺(tái)上的CGI技術(shù)。Servlet在服務(wù)器端運(yùn)行,動(dòng)態(tài)地生成Web頁面。與傳統(tǒng)的CGI和許多其它類似CGI的技術(shù)相比,Java Servlet具有更高的效率并更容易使用。對(duì)于Servlet,重復(fù)的請(qǐng)求不會(huì)導(dǎo)致同一程序的多次轉(zhuǎn)載,它是依靠線程的方式來支持并發(fā)訪問的。

  2)JSP

  JSP(Java Server Page)是一種實(shí)現(xiàn)普通靜態(tài)HTML和動(dòng)態(tài)頁面輸出混合編碼的技術(shù)。從這一點(diǎn)來看,非常類似Microsoft ASP、PHP等技術(shù)。借助形式上的內(nèi)容和外觀表現(xiàn)的分離,Web頁面制作的任務(wù)可以比較方便地劃分給頁面設(shè)計(jì)人員和程序員,并方便地通過JSP來合成。在運(yùn)行時(shí)態(tài),JSP將會(huì)被首先轉(zhuǎn)換成Servlet,并以Servlet的形態(tài)編譯運(yùn)行,因此它的效率和功能與Servlet相比沒有差別,一樣具有很高的效率。

  3) EJB

  EJB定義了一組可重用的組件:Enterprise Beans。開發(fā)人員可以利用這些組件,像搭積木一樣建立分布式應(yīng)用。

  4)JDBC

  JDBC(Java Database Connectivity,Java數(shù)據(jù)庫連接)API是一個(gè)標(biāo)準(zhǔn)SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)數(shù)據(jù)庫訪問接口,它使數(shù)據(jù)庫開發(fā)人員能夠用標(biāo)準(zhǔn)Java API編寫數(shù)據(jù)庫應(yīng)用程序。JDBC API主要用來連接數(shù)據(jù)庫和直接調(diào)用SQL命令執(zhí)行各種SQL語句。利用JDBC API可以執(zhí)行一般的SQL語句、動(dòng)態(tài)SQL語句及帶IN和OUT參數(shù)的存儲(chǔ)過程。Java中的JDBC相當(dāng)于Microsoft平臺(tái)中的ODBC(Open Database Connectivity)。

  2.測(cè)試生命周期、測(cè)試過程分為幾個(gè)階段,以及各階段的含義?

  解答:軟件測(cè)試生命周期一般包括6個(gè)階段:1)計(jì)劃 2)分析,3)設(shè)計(jì),4)構(gòu)建,5)測(cè)試周期,6)最后測(cè)試和實(shí)施,

  1) 計(jì)劃:產(chǎn)品定義階段

  2). 分析:外部文檔階段

  3). 設(shè)計(jì):文檔架構(gòu)階段

  4). 構(gòu)建:單元測(cè)試階段

  5). 測(cè)試周期:錯(cuò)誤修正,重復(fù)系統(tǒng)測(cè)試階段

  6). 最后的測(cè)試和實(shí)施:代碼凍結(jié)階段

  3.您做系統(tǒng)設(shè)計(jì)用何種工具?

  解答:Visio, rational rose,power designer等

  4. 什么是Web容器?

  解答:容器就是一種服務(wù)程序,在服務(wù)器一個(gè)端口就有一個(gè)提供相應(yīng)服務(wù)的程序,而這個(gè)程序就是處理從客戶端發(fā)出的請(qǐng)求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是這樣的容器。

  5. 運(yùn)行時(shí)異常與一般異常有何異同?

  解答:異常表示程序運(yùn)行過程中可能出現(xiàn)的非正常狀態(tài),運(yùn)行時(shí)異常表示虛擬機(jī)的通常操作中可能遇到的異常,是一種常見運(yùn)行錯(cuò)誤。java編譯器要求方法必須聲明拋出可能發(fā)生的非運(yùn)行時(shí)異常,但是并不要求必須聲明拋出未被捕獲的運(yùn)行時(shí)異常。

  java高級(jí)工程師面試題及答案(三)

  1.試述數(shù)據(jù)庫完整保護(hù)的主要任務(wù)和措施。

  解答:數(shù)據(jù)庫的完整性保護(hù)也就是數(shù)據(jù)庫中數(shù)據(jù)正確性的維護(hù)。數(shù)據(jù)庫完整性包括三個(gè)內(nèi)容:實(shí)體完整性規(guī)則,參照物完整性規(guī)則以及用戶定義完整性規(guī)則。 前兩個(gè)是有DBMS自動(dòng)處理。

  實(shí)體完整性規(guī)則是說針對(duì)于基表中的關(guān)鍵字中屬性值不能為空值,是數(shù)據(jù)庫完整性的基本要求,主關(guān)鍵字和元組的唯一性對(duì)應(yīng)。

  參照物完整性規(guī)則是不允許引用不存在的元組:即基表中的外關(guān)鍵字要么為空,要么關(guān)聯(lián)基表中必存在元組。

  用戶定義完整性規(guī)則針對(duì)具體的數(shù)據(jù)環(huán)境由用戶具體設(shè)置的規(guī)則,它反應(yīng)了具體應(yīng)用中的語義要求。 一個(gè)完整性規(guī)則一般由下面三部分組成:完整性約束條件設(shè)置,完整性約束條件的檢查以及完整性約束條件的處理.后兩部分在數(shù)據(jù)庫中一般有相應(yīng)的模塊處理。另外觸發(fā)器也可以做完整性的保護(hù),但觸發(fā)器大量用于主動(dòng)性領(lǐng)域。

  2.請(qǐng)說明SQLServer中delete from tablea & truncate table tablea的區(qū)別

  解答:兩者都可以用來刪除表中所有的記錄。區(qū)別在于:truncate是DDL操作,它移動(dòng)HWK,使HWK值為0,不需要 rollback segment .而Delete是DML操作需要rollback segment 且花費(fèi)較長(zhǎng)時(shí)間.

  3. Oracle安裝完成后,如何用命令行啟動(dòng)和關(guān)閉數(shù)據(jù)庫?

  解答:

  打開:STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ database] | MOUNT | NOMOUNT] STARTUP OPEN:STARTUP缺省的參數(shù)就是OPEN,打開數(shù)據(jù)庫,允許數(shù)據(jù)庫的訪問。當(dāng)前實(shí)例的控制文件中所描述的所有文件都已經(jīng)打開。 STARTUP MOUNT:MOUNT數(shù)據(jù)庫,僅僅給DBA進(jìn)行管理操作,不允許數(shù)據(jù)庫的用戶訪問。僅僅只是當(dāng)前實(shí)例的控制文件被打開,數(shù)據(jù)文件未打開。 STARTUP NOMOUNT:僅僅通過初始化文件,分配出SGA區(qū),啟動(dòng)數(shù)據(jù)庫后臺(tái)進(jìn)程,沒有打開控制文件和數(shù)據(jù)文件。不能訪問任何數(shù)據(jù)庫。 STARTUP PFILE= filename:以filename為初始化文件啟動(dòng)數(shù)據(jù)庫,不是采用缺省初始化文件。 STARTUP FORCE:中止當(dāng)前數(shù)據(jù)庫的運(yùn)行,并開始重新正常的啟動(dòng)數(shù)據(jù)庫。 STARTUP RESTRICT:只允許具有RESTRICTED SESSION權(quán)限的用戶訪問數(shù)據(jù)庫。 STARTUP RECOVER:數(shù)據(jù)庫啟動(dòng),并開始介質(zhì)恢復(fù)

  關(guān)閉

  SHUTDOWN有四個(gè)參數(shù):NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不帶任何參數(shù)時(shí)表示是NORMAL。

  命令SHUTDOWN NORMAL:不允許新的連接、等待會(huì)話結(jié)束、等待事務(wù)結(jié)束、做一個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。 SHUTDOWN TRANSACTIONAL:不允許新的連接、不等待會(huì)話結(jié)束、等待事務(wù)結(jié)束、做一個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。 SHUTDOWN IMMEDIATE:不允許新的連接、不等待會(huì)話結(jié)束、不等待事務(wù)結(jié)束、做一個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)文件。沒有結(jié)束的事務(wù)是自動(dòng)rollback的。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。 SHUTDOWN ABORT:不允許新的連接、不等待會(huì)話結(jié)束、不等待事務(wù)結(jié)束、不做檢查點(diǎn)且沒有關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)自動(dòng)進(jìn)行實(shí)例恢復(fù)。 另外,對(duì)于NORMAL、TRANSACTIONAL、IMMEDIATE,DB Buffer Cache的內(nèi)容寫入了數(shù)據(jù)文件,沒有提交的事務(wù)被回滾,所有的資源被釋放,數(shù)據(jù)庫被“干凈”的關(guān)閉。 對(duì)于ABORT,DB Buffer Cache的內(nèi)容沒有寫入數(shù)據(jù)文件,沒有提交的事務(wù)也沒有回滾。數(shù)據(jù)庫沒有dismount和關(guān)閉,數(shù)據(jù)文件也沒有關(guān)閉。當(dāng)數(shù)據(jù)庫啟動(dòng)時(shí),需要通過redo log恢復(fù)數(shù)據(jù),通過回滾段對(duì)事務(wù)回滾,對(duì)資源進(jìn)行釋放。

  
看了“java高級(jí)工程師面試題及答案”

50528