日本一本亚洲最大|日本午夜免费啪视频在|国产自产在线视频一区|亚洲福利精品视频

    <object id="4ihfc"></object>
      
      
    1. <object id="4ihfc"></object>
    2. 我要投稿 投訴建議

      Java面試題

      時(shí)間:2024-09-27 11:26:52 晶敏 面試試題 我要投稿

      Java面試題

        在現(xiàn)實(shí)的學(xué)習(xí)、工作中,我們總免不了要接觸或使用試題,試題是學(xué)校或各主辦方考核某種知識(shí)才能的標(biāo)準(zhǔn)。那么你知道什么樣的試題才能有效幫助到我們嗎?下面是小編收集整理的Java面試題,歡迎閱讀,希望大家能夠喜歡。

      Java面試題

        Java面試題 1

        1、Collection 和 Collections的區(qū)別?

        Collection是集合的根接口,其下有set及l(fā)ist

        Collections是集合的算法。

        2、Set里的元素是不能重復(fù)的,那么用什么方法來(lái)區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?用contains來(lái)區(qū)分是否有重復(fù)的對(duì)象。還是都不用?

        在比較時(shí)先調(diào)用hashCode方法,如果不相同,證明不相等。

        如果相同,再調(diào)用equals方法,如果equals方法相同,證明相等,不相同,證明不相等。

        ==:主要用在基本數(shù)據(jù)類型及引用

        equals:主要是對(duì)象或?qū)ο笠玫谋容^。

        集合中是否包含某一個(gè)元素用contains來(lái)判斷。

        3、List,Set,Map是否繼承自Collection接口?

        List,set繼承于Collection

        Map沒(méi)有繼承于Collection,其相對(duì)是獨(dú)立的。

        屬于Collection類型的對(duì)象,可以通過(guò)構(gòu)造函數(shù)將一個(gè)集合構(gòu)造成另外一個(gè)集合。

        4、面向?qū)ο蟮奶卣饔心男┓矫妫?/strong>

        1.抽象:

        找共性,將共有的屬性、方法放到父類中

        2.繼承:

        子類繼承于父類,具有父類的所有屬性與方法,可以重用,也可以覆蓋。

        3.封裝:

        一個(gè)類包括多個(gè)屬性及方法。

        4. 多態(tài)性:

        5、String是最基本的數(shù)據(jù)類型嗎?

        基本數(shù)據(jù)類型包括byte、int、char、long、float、double、boolean和short。

        java.lang.String類是final類型的,因此不可以繼承這個(gè)類、不能修改這個(gè)類。為了提高效率節(jié)省空間,我們應(yīng)該用StringBuffer類

        6、int 和 Integer 有什么區(qū)別?

        int 是基本數(shù)據(jù)類型,不是對(duì)象,占一個(gè)內(nèi)存空間,沒(méi)有方法。與其同類的`有l(wèi)ong,char,doble

        Integer是封裝類,具有方法及屬性。與其同類的有Long,Double.Float

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

        運(yùn)行時(shí)異常:JVM拋出的異常,代碼中不用處理。

        一般異常:用戶拋出的異常,如果用throws 聲明了,調(diào)用這個(gè)方法的代碼必須對(duì)其處理。

        8、&和&&的區(qū)別?

        &:與: 左邊若為false右邊還執(zhí)行。

        &&:短路與,左邊若為false右邊不執(zhí)行。

        9、final,finally,finalize的區(qū)別?

        final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。

        finally是異常處理語(yǔ)句結(jié)構(gòu)的一部分,表示總是執(zhí)行。

        finalize是Object類的一個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候會(huì)調(diào)用被回收對(duì)象的此方法,可以覆蓋此方法提供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文件等。

        10、heap和stack有什么區(qū)別?

        棧是一種線形集合,其添加和刪除元素的操作應(yīng)在同一段完成。棧按照后進(jìn)先出的方式進(jìn)行處理。堆是棧的一個(gè)組成元素

        11、Static Nested Class 和 Inner Class的不同?

        Static Nested Class是被聲明為靜態(tài)(static)的內(nèi)部類,它可以不依賴于外部類實(shí)例被實(shí)例化。而通常的內(nèi)部類需要在外部類實(shí)例化后才能實(shí)例化。

        12、GC是什么? 為什么要有GC?

        GC是垃圾收集的意思(Gabage Collection),內(nèi)存處理是編程人員容易出現(xiàn)問(wèn)題的地方,忘記或者錯(cuò)誤的內(nèi)存回收會(huì)導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,Java提供的GC功能可以自動(dòng)監(jiān)測(cè)對(duì)象是否超過(guò)作用域從而達(dá)到自動(dòng)回收內(nèi)存的目的,Java語(yǔ)言沒(méi)有提供釋放已分配內(nèi)存的顯示操作方法。

        13、short s1 = 1; s1 = s1 + 1;有什么錯(cuò)? short s1 = 1; s1 += 1;有什么錯(cuò)?

        short s1 = 1; s1 = s1 + 1; (s1+1運(yùn)算結(jié)果是int型,需要強(qiáng)制轉(zhuǎn)換類型)

        short s1 = 1; s1 += 1;(可以正確編譯)

        14、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

        Math.round(11.5)==12

        Math.round(-11.5)==-11

        round方法返回與參數(shù)最接近的長(zhǎng)整數(shù),參數(shù)加1/2后求其floor.

        15、Java有沒(méi)有g(shù)oto?

        java中的保留字,現(xiàn)在沒(méi)有在java中使用。

        16、給出一個(gè)你最常見(jiàn)到的runtime exception ArithmeticException,ArrayStoreException,BufferOverflowException,BufferUnderflowException,CannotRedoException,CannotUndoException,ClassCastException,CMMException,ConcurrentModificationException,DOMException,EmptyStackException,IllegalArgumentException,IllegalMonitorStateException,IllegalPathStateException,IllegalStateException,ImagingOpException,IndexOutOfBoundsException,MissingResourceException,NegativeArraySizeException,NoSuchElementException,NullPointerException,ProfileDataException,ProviderException,RasterFormatException,SecurityException,SystemException,UndeclaredThrowableException,UnmodifiableSetException,UnsupportedOperationException

        一般異常:

        IOException

        FileNotFoundException

        SqlException

        17、數(shù)組有沒(méi)有l(wèi)ength()這個(gè)方法? String有沒(méi)有l(wèi)ength()這個(gè)方法?

        數(shù)組沒(méi)有l(wèi)ength()這個(gè)方法,有l(wèi)ength這個(gè)屬性

        String有l(wèi)ength()這個(gè)方法.

        18、構(gòu)造器Constructor是否可被override?

        構(gòu)造器Constructor不能被繼承,因此不能重寫(xiě)Overriding,但可以被重載Overloading。

        19、是否可以繼承String類?

        String類是final類故不可以繼承。

        20、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

        switch(expr1)中,expr1是一個(gè)整數(shù)表達(dá)式。因此傳遞給 switch 和 case 語(yǔ)句的參數(shù)應(yīng)該是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。

        21、try {}里有一個(gè)return語(yǔ)句,那么緊跟在這個(gè)try后的finally {}里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后?

        會(huì)執(zhí)行,在return前執(zhí)行。

        22、兩個(gè)對(duì)象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對(duì)不對(duì)?

        不對(duì),有相同的 hash code

        這是java語(yǔ)言的定義:

        1) 對(duì)象相等則hashCode一定相等;

        2) hashCode相等對(duì)象未必相等

        23、四種會(huì)話跟蹤技術(shù)?

        Cookie

        Session

        Hidden

        url 重寫(xiě)

        24、寫(xiě)一個(gè)Singleton出來(lái)。

        Singleton模式主要作用是保證在Java應(yīng)用程序中,一個(gè)類只有一個(gè)實(shí)例存在。

        一般Singleton模式通常有幾種種形式:

        第一種形式: 定義一個(gè)類,它的構(gòu)造函數(shù)為private的,它有一個(gè)static的private的該類變量,在類初始化時(shí)實(shí)例話,通過(guò)一個(gè)public的getInstance方法獲取對(duì)它的引用,繼而調(diào)用其中的方法。

        public class Singleton {

        private Singleton(){}

        //在自己內(nèi)部定義自己一個(gè)實(shí)例,是不是很奇怪?

        //注意這是private 只供內(nèi)部調(diào)用

        private static Singleton instance = new Singleton();

        //這里提供了一個(gè)供外部訪問(wèn)本class的靜態(tài)方法,可以直接訪問(wèn)

        public static Singleton getInstance() {

        return instance;

        }

        }

        第二種形式:

        public class Singleton {

        private static Singleton instance = null;

        public static synchronized Singleton getInstance() {

        //這個(gè)方法比上面有所改進(jìn),不用每次都進(jìn)行生成對(duì)象,只是第一次

        //使用時(shí)生成實(shí)例,提高了效率!

        if (instance==null)

        instance=new Singleton();

        return instance; }

        }

        其他形式:

        定義一個(gè)類,它的構(gòu)造函數(shù)為private的,所有方法為static的。

        一般認(rèn)為第一種形式要更加安全些

        25、Java中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用。

        原理: 有錯(cuò)直接轉(zhuǎn)到異常處理部分或向上拋出。

        應(yīng)用:JAVA的異常就是錯(cuò)誤,有兩種,一種是運(yùn)行時(shí),編碼可以不用捕捉。一種是一般異常,如果throws聲明了,必須進(jìn)行處理。

        26、描述一下JVM加載class文件的原理機(jī)制?

        JVM中類的裝載是由ClassLoader和它的子類來(lái)實(shí)現(xiàn)的,Java ClassLoader 是一個(gè)重要的Java運(yùn)行時(shí)系統(tǒng)組件。它負(fù)責(zé)在運(yùn)行時(shí)查找和裝入類文件的類。

        Java面試題 2

        1)Java 中能創(chuàng)建 Volatile 數(shù)組嗎?

        能,Java 中可以創(chuàng)建 volatile 類型數(shù)組,不過(guò)只是一個(gè)指向數(shù)組的引用,而不是整個(gè)數(shù)組。我的意思是,如果改變引用指向的數(shù)組,將會(huì)受到 volatile 的保護(hù),但是如果多個(gè)線程同時(shí)改變數(shù)組的元素,volatile 標(biāo)示符就不能起到之前的保護(hù)作用了。

        2)volatile 能使得一個(gè)非原子操作變成原子操作嗎?

        一個(gè)典型的例子是在類中有一個(gè) long 類型的成員變量。如果你知道該成員變量會(huì)被多個(gè)線程訪問(wèn),如計(jì)數(shù)器、價(jià)格等,你最好是將其設(shè)置為 volatile。為什么?因?yàn)?Java 中讀取 long 類型變量不是原子的,需要分成兩步,如果一個(gè)線程正在修改該 long 變量的值,另一個(gè)線程可能只能看到該值的一半(前 32 位)。但是對(duì)一個(gè) volatile 型的 long 或 double 變量的'讀寫(xiě)是原子。

        3)volatile 修飾符的有過(guò)什么實(shí)踐?

        一種實(shí)踐是用 volatile 修飾 long 和 double 變量,使其能按原子類型來(lái)讀寫(xiě)。double 和 long 都是64位寬,因此對(duì)這兩種類型的讀是分為兩部分的,第一次讀取第一個(gè) 32 位,然后再讀剩下的 32 位,這個(gè)過(guò)程不是原子的,但 Java 中 volatile 型的 long 或 double 變量的讀寫(xiě)是原子的。volatile 修復(fù)符的另一個(gè)作用是提供內(nèi)存屏障(memory barrier),例如在分布式框架中的應(yīng)用。簡(jiǎn)單的說(shuō),就是當(dāng)你寫(xiě)一個(gè) volatile 變量之前,Java 內(nèi)存模型會(huì)插入一個(gè)寫(xiě)屏障(write barrier),讀一個(gè) volatile 變量之前,會(huì)插入一個(gè)讀屏障(read barrier)。意思就是說(shuō),在你寫(xiě)一個(gè) volatile 域時(shí),能保證任何線程都能看到你寫(xiě)的值,同時(shí),在寫(xiě)之前,也能保證任何數(shù)值的更新對(duì)所有線程是可見(jiàn)的,因?yàn)閮?nèi)存屏障會(huì)將其他所有寫(xiě)的值更新到緩存。

        4)volatile 類型變量提供什么保證?(答案)

        volatile 變量提供順序和可見(jiàn)性保證,例如,JVM 或者 JIT為了獲得更好的性能會(huì)對(duì)語(yǔ)句重排序,但是 volatile 類型變量即使在沒(méi)有同步塊的情況下賦值也不會(huì)與其他語(yǔ)句重排序。 volatile 提供 happens-before 的保證,確保一個(gè)線程的修改能對(duì)其他線程是可見(jiàn)的。某些情況下,volatile 還能提供原子性,如讀 64 位數(shù)據(jù)類型,像 long 和 double 都不是原子的,但 volatile 類型的 double 和 long 就是原子的。

        5) 10 個(gè)線程和 2 個(gè)線程的同步代碼,哪個(gè)更容易寫(xiě)?

        從寫(xiě)代碼的角度來(lái)說(shuō),兩者的復(fù)雜度是相同的,因?yàn)橥酱a與線程數(shù)量是相互獨(dú)立的。但是同步策略的選擇依賴于線程的數(shù)量,因?yàn)樵蕉嗟木程意味著更大的競(jìng)爭(zhēng),所以你需要利用同步技術(shù),如鎖分離,這要求更復(fù)雜的代碼和專業(yè)知識(shí)。

        6)你是如何調(diào)用 wait()方法的?使用 if 塊還是循環(huán)?為什么?(答案)

        wait() 方法應(yīng)該在循環(huán)調(diào)用,因?yàn)楫?dāng)線程獲取到 CPU 開(kāi)始執(zhí)行的時(shí)候,其他條件可能還沒(méi)有滿足,所以在處理前,循環(huán)檢測(cè)條件是否滿足會(huì)更好。下面是一段標(biāo)準(zhǔn)的使用 wait 和 notify 方法的代碼:

        // The standard idiom for using the wait method

        參見(jiàn) Effective Java 第 69 條,獲取更多關(guān)于為什么應(yīng)該在循環(huán)中來(lái)調(diào)用 wait 方法的內(nèi)容。

        Java面試題 3

        1). applet的運(yùn)行過(guò)程要經(jīng)歷4個(gè)步驟,其中哪個(gè)不是運(yùn)行步驟?

        A.瀏覽器加載指定URL中的HTML文件

        B.瀏覽器顯示HTML文件

        C.瀏覽器加載HTML文件中指定的applet類

        D.瀏覽器中的Java運(yùn)行環(huán)境運(yùn)行該applet

        正確答案:B

        2). 二維數(shù)組A[O,…,8][0,…,9],其每個(gè)元素占2字節(jié)。從首地址400開(kāi)始,按行優(yōu)先順序存儲(chǔ),則元素A[8][5]的存儲(chǔ)地址為( )。

        A.570

        B.506

        C.410

        D.482

        正確答案:A

        答案解析:A[8][5]元素存儲(chǔ)的位置在第9行第6列,所以A[8][5]之前存儲(chǔ)的個(gè)數(shù)應(yīng)為8×10+5 = 85,這些元素占用的空間為85×2字節(jié)=170字節(jié),所以A[8][5]的存儲(chǔ)位置為400+170= 570。

        3). 用于生產(chǎn)過(guò)程控制的系統(tǒng),一般都是( ),它要求有對(duì)輸入數(shù)據(jù)及時(shí)做出響應(yīng)的能力。

        A.批處理系統(tǒng)

        B.分時(shí)系統(tǒng)

        C.實(shí)時(shí)系統(tǒng)

        D.及時(shí)系統(tǒng)

        正確答案:C

        答案解析:用于生產(chǎn)過(guò)程控制的系統(tǒng),一般都是實(shí)時(shí)系統(tǒng),它要求有對(duì)輸入數(shù)據(jù)及時(shí)做出反應(yīng)(響應(yīng))的能力。由于環(huán)境和控制對(duì)象以及工作任務(wù)的不同,控制系統(tǒng)對(duì)計(jì)算機(jī)系統(tǒng)的要求也會(huì)不同,一般會(huì)對(duì)計(jì)算機(jī)系統(tǒng)的可靠性、封閉性、抗干擾性等指標(biāo)提出要求。

        4). Java語(yǔ)言的許多特點(diǎn)中,下列哪個(gè)特點(diǎn)是C++語(yǔ)言所不具備的?

        A.高性能

        B.跨平臺(tái)

        C.面向?qū)ο?/p>

        D.有類庫(kù)

        正確答案:B

        5). 在匹配器(Matcher)類中,用于尋找下一個(gè)模式匹配串的方法是( )。

        A.static boolean matches()

        B.boolean matcher .fi nd()

        C.i nt matcher .start()

        D.i nt matcher .end()

        正確答案:A

        答案解析:本題考查考生對(duì)Java 中的匹配器(Matcher)類的理解。Matcher 類用于將一個(gè)輸入字符串i nput 和模式串pattern 相比較。Boolean matcher .fi nd()方法用于尋找下一個(gè)模式匹配串;i nt matcher .start()方法用于返回匹配串的一個(gè)起始索引整數(shù)值;i nt matcher .end()方法用于返回匹配串的一個(gè)終止索引整數(shù)值。而用于輸入字符串與模式串比較的方法是static boolean matches(),選項(xiàng)A 正確。

        6). J2EE和( )語(yǔ)言綁定。

        A.C

        B.C++

        C.Java

        D.匯編語(yǔ)言

        正確答案:C

        答案解析:J2EE的基礎(chǔ)是J2SE,以Java為平臺(tái);而C語(yǔ)言用于ODBCAPI。由于兩者不兼容,SUN公司才提出了JDBC作為Java幾個(gè)平臺(tái)與麴據(jù)庫(kù)的標(biāo)準(zhǔn)連接。

        7). 下列關(guān)于結(jié)構(gòu)化設(shè)計(jì)原則的'描述,錯(cuò)誤的是

        A.在塊和進(jìn)程的非正常出口處往往需要調(diào)用GOTO語(yǔ)句,使用GOTO語(yǔ)句使程序執(zhí)行效率提高,但是濫用GOTO語(yǔ)句確實(shí)有害,應(yīng)該避免使用GOTO語(yǔ)句。

        B.程序設(shè)計(jì)時(shí)應(yīng)該自頂向下,逐步求精。

        C.程序設(shè)計(jì)時(shí),應(yīng)該將復(fù)雜問(wèn)題進(jìn)行模塊化,就是將程序設(shè)計(jì)的總目標(biāo)分解為若干個(gè)分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo)。

        D.在進(jìn)行程序設(shè)計(jì)時(shí),應(yīng)該盡量在一行書(shū)寫(xiě)一條語(yǔ)句,盡量做到效率第一,清晰第二。

        正確答案:D

        8). 如果線程調(diào)用下列方法,不能保證使該線程停止運(yùn)行的是( )。

        A.sleep()

        B.stop()

        C.yield()

        D.wait()

        正確答案:C

        答案解析:線程的方法中sleep()方法的作用是使比當(dāng)前線程優(yōu)先級(jí)低的線程運(yùn)行。該方法使一個(gè)線程暫停運(yùn)行一段固定時(shí)間。在休眠時(shí)間內(nèi),線程將不運(yùn)行,低優(yōu)先級(jí)的線程將有機(jī)會(huì)運(yùn)行。yield()方法為只讓給同等優(yōu)先級(jí)的線程運(yùn)行。如果沒(méi)有同等優(yōu)先級(jí)的線程是可運(yùn)行狀態(tài),yield()方法將什么也不做,即線程將繼續(xù)運(yùn)行。stop()方法是強(qiáng)行終止線程。wait()方法是線程間交互的方法,是使一個(gè)線程停止運(yùn)行,進(jìn)入等待狀態(tài)。

        9). 開(kāi)發(fā)軟件時(shí)對(duì)提高開(kāi)發(fā)人員工作效率至關(guān)重要的是( )。

        A.操作系統(tǒng)的資源管理功能

        B.先進(jìn)的軟件開(kāi)發(fā)工具和環(huán)境

        C.程序員的數(shù)量

        D.計(jì)算機(jī)的并行處理能力

        正確答案:B

        答案解析:先進(jìn)的軟件開(kāi)發(fā)工具和環(huán)境對(duì)提高開(kāi)發(fā)人員工作效率是至關(guān)重要的。

        10). 信息隱蔽的概念與下述哪一種概念直接相關(guān)( )。

        A.軟件結(jié)構(gòu)定義

        B.模塊獨(dú)立性

        C.模塊類型劃分

        D.模擬耦合度

        正確答案:B

        答案解析:信息隱蔽的概念與模塊獨(dú)立性這一概念直接相關(guān)。

        Java面試題 4

        一.選擇題(30分)

        1.下列哪些情況可以終止當(dāng)前線程的運(yùn)行?

        a. 拋出一個(gè)異常時(shí)。

        b. 當(dāng)該線程調(diào)用sleep()方法時(shí)。

        c. 當(dāng)創(chuàng)建一個(gè)新線程時(shí)。(與當(dāng)前進(jìn)程無(wú)關(guān))

        d. 當(dāng)一個(gè)優(yōu)先級(jí)高的線程進(jìn)入就緒狀態(tài)時(shí)。

        2. 下面哪些為構(gòu)造函數(shù)的特性定義

        a. 在類中聲明構(gòu)造函數(shù)時(shí),名稱應(yīng)該與類名相同

        b. 具有重載特性,可以建立多個(gè)相同的名稱

        c. 使用類建立新對(duì)象時(shí),會(huì)自動(dòng)執(zhí)行構(gòu)造函數(shù),因此在構(gòu)造函

        數(shù)內(nèi)設(shè)定變量的初值或進(jìn)行內(nèi)存分配

        d. 以上都是

        3. 關(guān)于異常處理機(jī)制的敘述哪些正確

        a. catch部分捕捉到異常情況時(shí),才會(huì)執(zhí)行finally部分(無(wú)論是否有毛病,都執(zhí)行)

        b. 當(dāng)try區(qū)段的程序發(fā)生異常時(shí),才會(huì)執(zhí)行catch區(qū)段的程序

        c. 不論程序是否發(fā)生錯(cuò)誤及捕捉到異常情況,都會(huì)執(zhí)行finally部分

        d. 以上都是

        4. 下列關(guān)于接口的敘述中哪些是正確的

        a. 接口中的數(shù)據(jù)必須設(shè)定初值(就是接口中的常量)

        b. 接口中的方法都是抽象方法

        c. 接口可以聲明引用

        d. 以上都正確

        5.Java語(yǔ)言中,方法的重寫(xiě)(Overriding)和重載(Overloading)是多態(tài)性的不同表現(xiàn)。下邊哪些說(shuō)法是對(duì)的?

        A. 重寫(xiě)是父類與子類之間多態(tài)性的一種表現(xiàn)。

        B. 重寫(xiě)是一個(gè)類中多態(tài)性的一種表現(xiàn)。

        C. 重載是一個(gè)類中多態(tài)性的一種表現(xiàn)。

        D. 重載是父類與子類之間多態(tài)性的一種表現(xiàn)。

        6.在Struts應(yīng)用的視圖中包含哪些組件?

        A. JSP

        B. Servlet

        C. ActionServlet

        D. Action

        E. 代表業(yè)務(wù)邏輯或業(yè)務(wù)數(shù)據(jù)的JavaBean

        F. EJB

        G. 客戶化標(biāo)簽

        7. struts框架中,關(guān)于FormBean,下列哪些說(shuō)法是正確的:

        A FormBean是一種數(shù)據(jù)bean,主要用來(lái)封裝表單提交上來(lái)的數(shù)據(jù),并把這些數(shù)據(jù)傳遞給Action

        B 在FormBean中可以對(duì)頁(yè)面上傳遞來(lái)的參數(shù)進(jìn)行一下格式上的驗(yàn)證,這種驗(yàn)證是一種客戶端的驗(yàn)證

        C 用戶每次提交表單,都會(huì)產(chǎn)生一個(gè)新的FormBean實(shí)例

        D 動(dòng)態(tài)FormBean不能進(jìn)行驗(yàn)證操作

        8哪些方法可以進(jìn)行servlet的調(diào)試?()

        A、使用打印語(yǔ)句; 在桌面計(jì)算機(jī)上運(yùn)行服務(wù)器

        B、使用Apache Log4J

        C、使用IDE集成的調(diào)試器

        D、直接查看HTML源碼 ????

        E、返回錯(cuò)誤頁(yè)面給客戶

        9、下面關(guān)于servlet的功用說(shuō)法正確的有哪些?()

        A、讀取客戶程序發(fā)送來(lái)的顯式數(shù)據(jù)

        B、讀取客戶程序發(fā)送來(lái)的隱式數(shù)據(jù)

        C、生成相應(yīng)的結(jié)果

        D、發(fā)送顯式的數(shù)據(jù)給客戶程序

        E、發(fā)送隱式的數(shù)據(jù)給客戶程序

        10、下面關(guān)于session的用法哪些是錯(cuò)誤的?(

        A、HttpSession session = new HttpSession();

        request.getSession();

        B、String haha =(String) session.getParameter(Attribute)(“haha”);

        C、session.removeAttribute(“haha”);

        D、session. setAttribute(“haha”,值);

        11、關(guān)于說(shuō)法正確的有哪些?()

        A、URL的輸出在請(qǐng)求時(shí)入到JSP頁(yè)面中

        B、不能含有影響整個(gè)頁(yè)面的JSP內(nèi)容

        C、被包含文件改變后不需更改使用它的頁(yè)面

        D、被包含文件更改后,需要手動(dòng)地更新使用它的頁(yè)面(不需要手動(dòng)更新)

        12、關(guān)于bean的說(shuō)法正確的有哪些?()

        A、具備一個(gè)零參數(shù)(空)的構(gòu)造函數(shù)(不是必須的)

        B、不應(yīng)該有公開(kāi)的實(shí)例變量(字段)

        C、所有的屬性都必須通過(guò)getXxx和setXxx方法來(lái)訪問(wèn)

        D、布爾型的屬性使用isXxx,而非getXxx

        13、下面關(guān)于MVC說(shuō)法錯(cuò)誤的有哪些?()

        A、必須使用復(fù)雜的框架

        B、使用內(nèi)建的RequestDispatcher能夠很好地實(shí)現(xiàn)MVC

        C、當(dāng)其中一個(gè)組件發(fā)生變化的時(shí)候,MVC影響整個(gè)系統(tǒng)的設(shè)計(jì)

        D、我們可以用MVC來(lái)處理單個(gè)請(qǐng)求

        14、下面的標(biāo)簽中哪些是JSTL標(biāo)簽?()

        15、struts框架,錯(cuò)誤的是,下面那些說(shuō)法正確?

        A Struts中無(wú)法完成上傳功能

        B Struts框架基于MVC模式

        C Struts框架容易引起流程復(fù)雜、結(jié)構(gòu)不清晰等問(wèn)題(清晰)

        D Struts可以有效地降低項(xiàng)目的類文件數(shù)目

        二、填空題( 5分)

        1、調(diào)用函數(shù)MOD(123,10)返回值為_(kāi)__。

        2、select round (123.67,1) from dual;這語(yǔ)句輸出值為_(kāi)_____。

        3、創(chuàng)建一個(gè)臨時(shí)替代變量使用的字符是_____。

        4、若v_comm = 2800, X := NVL (V_comm,0) ,則X的值為_(kāi)___。

        5、調(diào)用函數(shù)INSTR(‘Here you are’,’er’)返回值為_(kāi)__。

        三、判斷題(10分)

        1、WHERE子句限制行記錄,也可以指定限制分組結(jié)果的條件。 ()

        2、具有UNIQUE約束的列不能包含多個(gè)空值。 ()

        3、DATE型數(shù)據(jù)中包含著時(shí)間值。 ()

        4、具有外鍵約束的列可以包含空值。 ()

        5、如果在類型為4)的列中輸入“hello”,則只能存儲(chǔ)hell。 ()

        6、含有Group by子句的查詢,其結(jié)果是排好序的。 ()

        7、定義游標(biāo)時(shí),其中的select語(yǔ)句不能使用order by子句。(子查詢

        不能用) ()

        9、觸發(fā)器一定會(huì)被激發(fā)。 、過(guò)程可以有返回值。 ()

        10、instead

        of觸發(fā)器只是基于視圖的。

        四、寫(xiě)出相應(yīng)的SQL語(yǔ)句(括號(hào)內(nèi)為列名)(10分)

        1、查詢從事各工作(JOB)的員工人數(shù)。

        2、查詢與員工SMITH在同一部門(mén)(DEPTNO)的員工的姓名(ENAME),工資(SAL)和部門(mén)。

        3、查詢所有員工的姓名(ENAME),工資(SAL)和工資等級(jí)(GRADE)。

        4、查詢獲得工資(SAL)最高的3個(gè)員工信息。

        5、查詢所有員工的姓名(ENAME)及其主管姓名(ENAME)。

        五、簡(jiǎn)答題(15分)

        1. 在PL/SQL程序中,進(jìn)行用戶自定義異常處理的3個(gè)步驟是

        什么?

        2. 面向?qū)ο蟮奶卣饔心男┓矫?并簡(jiǎn)要介紹

        3. List、Map、Set三個(gè)接口,存取元素時(shí),各有什么特點(diǎn)?

        List 以特定次序來(lái)持有元素,可有重復(fù)元素。Set 無(wú)法擁有重復(fù)元素,內(nèi)部排序。Map 保存key-value值,value可多值。

        4 .struts1.0和struts2.0的區(qū)別?如何控制兩種框架中的單例模式?

        5. 描述一下如何在struts1.0實(shí)現(xiàn)國(guó)際化,以兩國(guó)語(yǔ)言(中文,英文)為例:

        6.struts中怎么配置form-bean、action

        7. Hibernate自帶的分頁(yè)機(jī)制是什么?如果不使用Hibernate自帶的.分頁(yè),則采用什么方式分頁(yè)?

        8. hibernate中一對(duì)多配置文件返回的是什么?

        9.什么樣的數(shù)據(jù)適合存放到第二級(jí)緩存中?

        10你一般用spring做什么?

        11項(xiàng)目中如何體現(xiàn)Spring中的切面編程,具體說(shuō)明。

        12 觸發(fā)觸發(fā)器的數(shù)據(jù)操作有哪些?

        13 解釋視圖的含義以及使用視圖的好處。

        14 簡(jiǎn)述ORACLE中5種約束及其作用。

        15 ORACLE中過(guò)程和函數(shù)的異同點(diǎn)。

        六、編程題(30分)

        1、創(chuàng)建一個(gè)PL/SQL塊,根據(jù)用戶輸入的編號(hào),在emp表中查詢出該編號(hào)的員工姓名、部門(mén)號(hào)及其主管編號(hào),要有異常處理。

        2、創(chuàng)建一個(gè)PL/SQL塊,根據(jù)用戶輸入的工作,從emp表中逐條輸出從事這一工作的每位員工的編號(hào)、姓名和受雇如期,每條信息格式如下:(用游標(biāo)實(shí)現(xiàn))

        編號(hào) 姓名 受雇日期

        7751 JOHN 95-12-31

        3、編寫(xiě)一個(gè)函數(shù),用于判斷EMP表中某一工作(JOB)是否存在,若EMP表存在此工作名稱,則返回TRUE,否則返回FALSE。

        4、編寫(xiě)一觸發(fā)器,在EMP表執(zhí)行插入或修改前被激發(fā),此觸發(fā)器將對(duì)員工的工資(SAL)超過(guò)5000進(jìn)行報(bào)錯(cuò),不能插入或修改,不超

        過(guò)5000的才將員工編號(hào)、工作及當(dāng)時(shí)的日期(SYSDATE)插入U(xiǎn)P_EMP表

        (注:此表已建好,表結(jié)構(gòu)為UP_EMP(EMPNO NUMBER(4),SAL NUMBER(7,2),UDETE DATE))

        5下面程序的輸出結(jié)果是多少?

        importjava.util.Date;

        public class Test extends Date{

        public static void main(String[] args) {

        new Test().test();}

        public void test(){

        System.out.println(super.getClass().getName());}}

        6下面的程序代碼輸出的結(jié)果是多少? public class smallT

        {}

        public static void main(String args[]) { } public int get() { } try { } finally { } return 2 ; return 1 ; smallT t = new smallT(); int b = t.get(); System.out.println(b);

        7子線程循環(huán)10次,接著主線程循環(huán)100,接著又回到子線程循環(huán)10次,接著再回到主線程又循環(huán)100,如此循環(huán)50次,請(qǐng)寫(xiě)出程序。

        8去掉一個(gè)Vector集合中重復(fù)的元素

        9有一個(gè)字符串,其中包含中文字符、英文字符和數(shù)字字符,請(qǐng)統(tǒng)計(jì)和打印出各個(gè)字符的個(gè)數(shù)

        10. xxx公司的sql面試

        Table EMPLOYEES Structure:

        EMPLOYEE_ID NUMBER Primary Key,

        FIRST_NAME VARCHAR2(25),

        LAST_NAME VARCHAR2(25),

        Salary number(8,2),

        HiredDate DATE,

        Departmentid number(2)

        Table Departments Structure:

        Departmentid number(2) Primary Key,

        DepartmentName VARCHAR2(25).

        (1)基于上述EMPLOYEES表寫(xiě)出查詢:寫(xiě)出雇用日期在今年的,或者工資在[1000,2000]之間的,或者員工姓名(last_name)以’Obama’打頭的所有員工,列出這些員工的全部個(gè)人信息。

        (2) 基于上述EMPLOYEES表寫(xiě)出查詢:查出部門(mén)平均工資大于1800

        元的部門(mén)的所有員工,列出這些員工的全部個(gè)人信息。()

        (3) 基于上述EMPLOYEES表寫(xiě)出查詢:查出個(gè)人工資高于其所在部門(mén)平均工資的員工,列出這些員工的全部個(gè)人信息及該員工工資高出部門(mén)平均工資百分比。

        參考答案

        1答案:ABD

        2答案: D

        3答案:BC

        4答案:AB

        5答案AC

        6答案:A,G

        7答案:A

        8A B C D E

        9A B C D E

        10A B D

        11A B C

        12B D

        13A C

        14A B C

        15A B C

        16答案:C

        二 填空

        3 123.7 & 2800 2

        三判斷

        × ×√√√√×√×√

        四寫(xiě)出相應(yīng)的SQL語(yǔ)句

        1Select job,count(*) from emp group by job;

        2Select ename,sal,deptno from emp where deptno=(select deptno from emp where ename=’SMITH’);

        3Select ename,sal,grade from emp,salgrade where sal between losal and hisal;

        4Select * from (select * from emp order by sal desc) where rownum<=3;

        5Select e1.ename empname,e2.ename mgrname from emp e1,emp e2 where e1.mgr=e2.empno;

        五簡(jiǎn)答

        可以通過(guò)聲明和發(fā)布來(lái)截獲自定義異常。

        一、在聲明部分為聲明自定義異常名。

        二、在執(zhí)行部分使用 RAISE 語(yǔ)句顯式地發(fā)布異常。

        三、在相應(yīng)的異常處理例程中引用已聲明的異常。

        2(1).抽象:

        抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無(wú)關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不打算了解全部問(wèn)題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè)方面,一是過(guò)程抽象,二是數(shù)據(jù)抽象。

        (2).繼承:

        繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵(lì)類的重用,它提供了一種明確表述共性的方法。對(duì)象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過(guò)程稱為類繼承。新類繼承了原始類的特性, 新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實(shí)例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。

        (3).封裝:

        封裝是把過(guò)程和數(shù)據(jù)包圍起來(lái),對(duì)數(shù)據(jù)的訪問(wèn)只能通過(guò)已定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)象通過(guò)一個(gè)受保護(hù)的接口訪問(wèn)其他對(duì)象。

        (4). 多態(tài)性:

        多態(tài)性是指允許不同類的對(duì)象對(duì)同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語(yǔ)言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問(wèn)題。

        List 以特定次序來(lái)持有元素,可有重復(fù)元素。Set 無(wú)法擁有重復(fù)元素,內(nèi)部排序。Map 保存key-value值,value可多值。

        3List 以特定次序來(lái)持有元素,可有重復(fù)元素。Set 無(wú)法擁有重復(fù)元素,內(nèi)部排序。Map 保存key-value值,value可多值

        4a、Action類:

        struts1.2要求Action類繼承一個(gè)基類。struts2.0 Action要求繼承ActionSupport基類 b、線程模式

        struts1.2 Action是單例模式的并且必須是線程安全的,因?yàn)閮H有一個(gè)Action的實(shí)例來(lái)處理所有的請(qǐng)求。

        單例策略限制了Struts1.2 Action能做的事情,并且開(kāi)發(fā)時(shí)特別小心。Action資源必須是線程安全的或同步的。

        struts2.0 Action為每一個(gè)請(qǐng)求產(chǎn)生一個(gè)實(shí)例,因此沒(méi)有線程安全問(wèn)題。

        c、Servlet依賴

        struts1.2 Action依賴于Servlet API,因?yàn)楫?dāng)一個(gè)Action被調(diào)用時(shí)HttpServletRequest和HttpServletResponse被傳遞給execut方法。

        struts2.0 Action不依賴于容器,允許Action脫離容器單獨(dú)測(cè)試。如果需要,Struts2 Action仍

        然可以訪問(wèn)初始的Request和Response。

        但是,其他的元素減少或者消除了直接訪問(wèn)HttpServletRequest和HttpServletResponse的必要性。

        d、可測(cè)性

        測(cè)試struts1.2 Action的一個(gè)主要問(wèn)題是execute方法暴露了Servlet API(這使得測(cè)試要依賴于容器)。一個(gè)第三方擴(kuò)展:struts TestCase

        提供了一套struts1.2的模擬對(duì)象來(lái)進(jìn)行測(cè)試。

        Struts2.0 Action可以通過(guò)初始化、設(shè)置屬性、調(diào)用方法來(lái)測(cè)試,“依賴注入”也使得測(cè)試更容易。

      【Java面試題】相關(guān)文章:

      java面試題10-30

      Java經(jīng)典面試題12-29

      java面試題匯總10-18

      Java面試題集10-15

      JAVA經(jīng)典算法面試題04-16

      經(jīng)典的Java基礎(chǔ)面試題集錦11-03

      高級(jí)Java面試題集合10-22

      java面試題spring框架11-02

      瞬聯(lián)java面試題03-26