揭秘JAVA面試問題寶典_JSP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:揭秘幾個提升JSP應用程序效率的小方法
      本文介紹了幾個調整JSP和servlet的一些非常實用的方法,它可使你的servlet和JSP頁面響應更快,擴展性更強。而且在用戶數增加的情況下,系統負載會呈現出平滑上長的趨勢。我將通過一些實際例子和配置方法使得你的應用程序的性能有出人意料的提升。其中,某些

            大家找工作就要面試,有面試就有對付面試的辦法。以下一些題目來自我朋友痛苦的面試經歷,他給我總結了一下,我拿來和大家分享!提這些問題的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司。   
        面試是沒什么道理可講的,它的題目有的不合情理、脫離實際。有在紙上寫的,有當面考你的,也有在電話里問的,給你IDE的估計很少(否則你趕快去買彩票,說不定中)。所以如果你看完此文后,請不要抱怨說這些問題都能用IDE來解決。你必須在任何情況下準確回答這些問題,在面試中如果出現一兩題回答不準確很有可能你就被拒之門外了。   
        當然這些都是Java的基本題,那些面試的人大多數不會問你Hibernate有多先進,Eclipse的三個組成部分,或command design pattern,他們都是老一輩了,最喜歡問的就是基礎知識。別小看了這些基礎,我朋友水平挺可以的,結果就栽在一道基礎知識的問題上,和高薪無緣。
        第一,談談final, finally, finalize的區別。
        final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。finally是異常處理語句結構的一部分,表示總是執行。finalize是 Object類的一個方法,在垃圾收集器執行的時候會調用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關閉文件等。
        第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(接口)? 可以繼承其他類或完成其他接口,在swing編程中常用此方式。
        第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統)。 Static Nested Class是被聲明為靜態(static)的內部類,它可以不依賴于外部類實例被實例化。而通常的內部類需要在外部類實例化后才能實例化! 
        第四,&和&&的區別。 &是位運算符,表示按位與運算,&&是邏輯運算符,表示邏輯與(and).  
        第五,HashMap和Hashtable的區別。
            HashMap是Hashtable的輕量級實現(非線程安全的實現),他們都完成了Map接口,主要區別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable.
        第六,Collection 和 Collections的區別。
        Collection是集合類的上級接口,繼承與他的接口主要有Set 和List.Collections是針對集合類的一個幫助類,他提供一系列靜態方法實現對各種集合的搜索、排序、線程安全化等操作! 
        第七,什么時候用assert。
            1.4新增關鍵字(語法),用于測試boolean表達式狀態,可用于調試程序。使用方法 assert <boolean表達式>,表示如果表達式為真(true),則下面的語句執行,否則拋出AssertionError。另外的使用方式 assert < boolean表達式>:<other表達式>,表示如果表達式為真,后面的表達式忽略,否則后面表達式的值用于 AssertionError的構建參數。注意編譯時要增加-source 1.4 參數,否則報錯。]運行時要增加 -ea參數,否則assert行被忽略
            第八,GC是什么? 為什么要有GC? 
        GC是垃圾收集的意思(Gabage Collection),內存處理是編程人員容易出現問題的地方,忘記或者錯誤的內存回收會導致程序或系統的不穩定甚至崩潰,Java提供的GC功能可以自動監測對象是否超過作用域從而達到自動回收內存的目的,Java語言沒有提供釋放已分配內存的顯示操作方法。   
        第九,String s = new String("xyz");創建了幾個String Object? 兩個  
        第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少? Math.round(11.5)==12Math.round(-11.5)==-11round方法返回與參數最接近的長整數,參數加1/2后求其 floor.  
        第十一,short s1 = 1; s1 = s1 1;有什么錯? short s1 = 1; s1 = 1;有什么錯? short s1 = 1; s1 = s1 1; (s1 1運算結果是int型,需要強制轉換類型)short s1 = 1; s1 = 1;(可以正確編譯)  
        第十二,sleep() 和 wait() 有什么區別? sleep是線程類(Thread)的方法,導致此線程暫停執行指定時間,給執行機會給其他線程,但是監控狀態依然保持,到時后會自動恢復。調用 sleep不會釋放對象鎖。wait是Object類的方法,對此對象調用wait方法導致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發出notify方法(或notifyAll)后本線程才進入對象鎖定池準備獲得對象鎖進入運行狀態!  
        第十三,Java有沒有goto? 沒有,很十三的問題,如果哪個面試的問到這個問題,我勸你還是別進這家公司。
        第十四,數組有沒有length()這個方法? String有沒有length()這個方法?數組沒有length()這個方法,有length的屬性。String有有length()這個方法。
        第十五,Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?方法的重寫Overriding和重載 Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之間多態性的一種表現,重載Overloading是一個類中多態性的一種表現。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。
        第十六,Set里的元素是不能重復的,那么用什么方法來區分重復與否呢? 是用==還是equals()? 它們有何區別?Set里的元素是不能重復的,那么用iterator()方法來區分重復與否。equals()是判讀兩個Set是否相等。equals ()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內容和類型相配的話,返回真值。 
        第十七,給我一個你最常見到的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
        第十八,error和exception有什么區別?error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不可能指望程序能處理這樣的情況。exception 表示一種設計或實現問題。也就是說,它表示如果程序運行正常,從不會發生的情況。

      分享:揭秘Java初學者基礎知識11條
      1、對象的初始化 (1)非靜態對象的初始化 在創建對象時,對象所在類的所有數據成員會首先進行初始化。 基本類型:int型,初始化為0。 如果為對象:這些對象會按順序初始化。 ※在所有類成員初始化完成之后,才調用本類的構造方法創建對象。 構造方法的作用就

      共2頁上一頁12下一頁
      來源:模板無憂//所屬分類:JSP教程/更新時間:2010-01-06
      相關JSP教程