<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    編程之道

    無論是批評的,贊揚的,指著的都請EMAIL給我,你的建議將是我前進的動力! 聯系我

    某一家公司的測試題

    我做了差不多3個小時,簡直整人啊。不過還好這些題目我以前在網上都見過,有些沒作出來的我也補上答案了。由于面試通過了,極度興奮ING。

    問題1、面向對象的特征有哪些方面?
     封裝,多態,繼承

    問題2、String是最基本的數據類型嗎?
    不是。

    問題3、int 和 Integer 有什么區別?
    int是數據類型,存的是數值。
    Integer是對象,通過一個引用只想這個對象。

    問題4、運行時異常與一般異常有何異同?
     異常表示程序運行過程中可能出現的非正常狀態,運行時異常表示虛擬機的通常操作中可能遇到的異常,是一種常見運行錯誤。java編譯器要求方法必須聲明拋出可能發生的非運行時異常,但是并不要求必須聲明拋出未被捕獲的運行時異常。

    問題5、說出Servlet的生命周期,并說出Servlet和CGI的區別。
     Servlet被服務器實例化后,容器運行其init方法,請求到達時運行其service方法,當服務器決定將實例銷毀的時候調用其destroy方法。
    CGI: 每個請求都產生新的進程,服務完成后就銷毀,所以效率上低于servlet。

    問題6、說出ArrayList,Vector, LinkedList的存儲性能和特性。
     ArrayList其實就是用數組來實現的,所以在查詢數據方面速度快。
     Vector在功能上和ArrayList幾乎一樣,不過Vector類內的成員都是同步的,如果不考慮線程安全的話,還是使用ArrayList。因為同步在運行時要消耗掉大量的內存。
     LinkedList是由鏈表來實現的,所以在添加刪除等操作方面速度快,同時也能有效的利用內存空間。

    問題7、sleep() 和 wait() 有什么區別?
     Sleep()是讓該線程睡眠一段時間,將控制權給別的線程。等時間到了就自動恢復。
     Wait()方法需要通過notify()方法調用,線程才能進入運行狀態。

    問題8、Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?
     方法的重寫和重載是Java多態性的不同表現。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫。子類的對象使用這個方法時,將調用子類中的定義。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載。
    Overload的方法是可以改變返回值的類型。

    問題9、同步和異步有何異同,在什么情況下分別使用他們?舉例說明。
     同步是當多個線程都要使用一個資源的時候就要使用。例如:有個公共廁所每次只能進一個,如果N個人同時有需要的話,就需要同步,讓一個人進去,等里面人出來后其他人才能進。

    問題10、說出數據連接池的工作機制是什么?
     服務器啟動后創建指定數量的連接。當客戶端訪問時,服務器分配一個空閑的連接。
    如果先前分配連接用完,就新建一定數量的連接。

    問題11、try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執行,什么時候被執行,在return前還是后?
     會被執行,在return前。

    問題12、Java中的異常處理機制的簡單原理和應用。
     當JAVA程序違反了JAVA的語義規則時,JAVA虛擬機就會將發生的錯誤表示為一個異常。也可以自己定義異常處理方式。

    問題13、垃圾回收的優點和原理。并考慮2種回收機制。
     優點就是程序員不需要考慮對內存的釋放。

    問題14、請說出你所知道的線程同步的方法。
     Wait(),sleep(), notify()

    問題15、多線程有幾種實現方法,都是什么?同步有幾種實現方法,都是什么?
     多線程有兩種實現方法,分別是繼承Thread類與實現Runnable接口
    同步的實現方面有兩種,分別是synchronized,wait與notify

    問題16、servlet的生命周期
    Servlet被服務器實例化后,容器運行其init方法,請求到達時運行其service方法,當服務器決定將實例銷毀的時候調用其destroy方法。

    問題17、J2EE是技術還是平臺還是框架?
     我覺得都是。
     J2EE是SUN公司提出的一個基于多層應用的,分布式開發的,以組件形式(具有框架)形成的一個標準平臺。

    問題18、我們在web應用開發過程中經常遇到輸出某種編碼的字符,如iso8859-1等,如何輸出一個某種編碼的字符串?
     String str=”abcd”;
     String tempStr  =  new  String(str.getBytes("ISO-8859-1"),  "GBK");

    問題19、XML文檔定義有幾種形式?它們之間有何本質區別?解析XML文檔有哪幾種方式?
     1.XML文檔定義有2種形式,DTD和Schema,區別是schema本身是XML,能被解析器解析。
     2.解析XML文檔有SAX和DOM,還有一些不過都是SAX和DOM基礎上發展的。

    問題20、bean 實例的生命周期
     對于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在緩沖池管理,在create之后實例并不從內存清除,而是采用緩沖池調度機制不斷重用實例,而對于存在Cache管理的Bean則通過激活和去激活機制保持Bean的狀態并限制內存中實例數量。

    問題21、如何啟動時不需輸入用戶名與密碼?
     沒看明白什么意思.什么啟動啊?

    問題22、排序都有哪幾種方法?請列舉。用JAVA實現一個快速排序。
     排序的方法有:直接插入排序、希爾排序,冒泡排序、快速排序,直接選擇排序、堆排序,歸并排序,箱排序、基數排序等。

    問題23、java中會存在內存泄漏嗎,請簡單描述。
     內存泄漏應該是程序設計的問題,與語言無關把。
    問題24、java中實現多態的機制是什么?
     重寫和重載。

    問題25、應用服務器與WEB SERVER的區別?
     從功能上來講:應用服務器是處理業務邏輯的;而web服務器則主要是處理表示層的。

    問題26、BS與CS的聯系與區別。
      B/S:由服務器承擔大部分工作,瀏覽器只負責少量的前端處理(比方說用JS驗證控件)。
      C/S:服務器客戶端共同分擔處理。

    問題27、WEB SERVICE名詞解釋。JSWDL開發包的介紹。JAXP、JAXM的解釋。SOAP、UDDI,WSDL解釋。
    Web ServiceWeb Service是基于網絡的、分布式的模塊化組件,它執行特定的任務,遵守具體的技術規范,這些規范使得Web Service能與其他兼容的組件進行互操作。
    JAXP(Java API for XML Parsing) 定義了在Java中使用DOM, SAX, XSLT的通用的接口。這樣在你的程序中你只要使用這些通用的接口,當你需要改變具體的實現時候也不需要修改代碼。
    JAXM(Java API for XML Messaging) 是為SOAP通信提供訪問方法和傳輸機制的API。
    WSDL是一種 XML 格式,用于將網絡服務描述為一組端點,這些端點對包含面向文檔信息或面向過程信息的消息進行操作。這種格式首先對操作和消息進行抽象描述,然后將其綁定到具體的網絡協議和消息格式上以定義端點。相關的具體端點即組合成為抽象端點(服務)。
    SOAP即簡單對象訪問協議(Simple Object Access Protocol),它是用于交換XML編碼信息的輕量級協議。
    UDDI 的目的是為電子商務建立標準;UDDI是一套基于Web的、分布式的、為Web Service提供的、信息注冊中心的實現標準規范,同時也包含一組使企業能將自身提供的Web Service注冊,以使別的企業能夠發現的訪問協議的實現標準。

     
    二、JAVA代碼查錯

    問題1、
    abstract class Name {
    private String name;
    public abstract boolean isStupidName(String name) {}
    }
    這有何錯誤?
    錯。abstract 方法必須以分號結尾。

    問題2、
    public class Something {
            void doSomething () {
                   private String s = "";
                   int l = s.length();
         }
    }
    有錯嗎?
    錯。局部變量前面不是有訪問限制符。

    問題3、
    abstract class Something {
       private abstract String doSomething ();
    }
    這好像沒什么錯吧?
    錯。抽象方法的本意就是必須子類繼承,你加個private肯定錯了。

    問題4、
    public class Something {
       public int addOne(final int x) {
           return ++x;
       }
    }
    這個比較明顯。
    錯。Final訪問符一出,變量就不能被修改了。

    問題5、
    public class Something {
       public static void main(String[] args) {
           Other o = new Other();
           new Something().addOne(o);
       }
       public void addOne(final Other o) {
           o.i++;
       }
    }
    class Other {
       public int i;
    }
    是關于final的問題,這有錯嗎?
    對的。變得是成員變量,但是對象的引用沒有變。

    問題6、
    class Something {
        int i;
        public void doSomething() {
            System.out.println("i = " + i);
        }
    }
    有什么錯呢? 看不出來啊。
    對的。默認值=0。

    問題7、
    class Something {
        final int i;
        public void doSomething() {
            System.out.println("i = " + i);
        }
    }
    和上面一題只有一個地方不同,就是多了一個final。這難道就錯了嗎?
    對的。和上題一樣。

    問題8、
    public class Something {
         public static void main(String[] args) {
            Something s = new Something();
            System.out.println("s.doSomething() returns " + doSomething());
        }
        public String doSomething() {
            return "Do something ...";
        }
    }
     看上去很完美。
    錯。方法不是靜態的,所以一定要object.method();

    問題9、
    此處,Something類的文件名叫OtherThing.java
    class Something {
    private static void main(String[] something_to_do) {       
            System.out.println("Do something ...");
        }
    }
     這個好像很明顯。
    錯。類名的名字必須和文件名相同。

    問題10、
    interface  A{
       int x = 0;
    }
    class B{
       int x =1;
    }
    class C extends B implements A {
       public void pX(){
    System.out.println(x);
       }
       public static void main(String[] args) {
          new C().pX();
       }
    }
    錯誤。必須要明確X的來源。

    問題11、
    interface Playable {
    void play();
    }
    interface Bounceable {
        void play();
    }
    interface Rollable extends Playable, Bounceable {
        Ball ball = new Ball("PingPang");
    }
    class Ball implements Rollable {
        private String name;
        public String getName() {
            return name;
        }
        public Ball(String name) {
            this.name = name;       
        }
       public void play() {
            ball = new Ball("Football");
            System.out.println(ball.getName());
        }
    }
    這個錯誤不容易發現。
    錯誤。接口內能實例話對象?

    posted on 2005-09-07 11:44 瘋流成性 閱讀(1141) 評論(1)  編輯  收藏 所屬分類: 程序人生

    評論

    # re: 某一家公司的測試題 2007-12-17 14:43 Franlk

    class Something {
    final int i;
    public void doSomething() {
    System.out.println("i = " + i);
    }
    }


    應該不對吧,final修飾的值要求有值,它應該沒有default value。所以應該賦值才對。  回復  更多評論   

    主站蜘蛛池模板: 老司机亚洲精品影院在线观看| 免费国产午夜高清在线视频| 亚洲精品综合久久| 大地资源网高清在线观看免费| 亚洲日本视频在线观看| 国产美女无遮挡免费网站| 中文字幕在线观看免费| 亚洲国产日韩视频观看| 国产成人精品日本亚洲专区61| 成人免费视频网站www| 边摸边吃奶边做爽免费视频网站| 亚洲国产成人久久精品动漫| 永久免费视频v片www| 国产午夜精品免费一区二区三区| 亚洲最大无码中文字幕| 亚洲精品无码乱码成人| 在线免费一区二区| 久9这里精品免费视频| 日韩成人精品日本亚洲| 亚洲视频在线观看地址| 国产成人高清亚洲| 免费人成视频在线| 久久青草精品38国产免费| 色噜噜噜噜亚洲第一| 亚洲国产成a人v在线| 国产成人A亚洲精V品无码| 国产大片91精品免费看3| 国产黄色免费网站| a级在线免费观看| 免费人成网站永久| 国产亚洲精品成人AA片| 亚洲av无码成人黄网站在线观看| 四虎永久在线精品免费影视| 国产精品免费观看| 国产午夜不卡AV免费| 在线播放免费人成视频网站 | 最新亚洲卡一卡二卡三新区| 久久精品国产99精品国产亚洲性色| 免费一区二区视频| 嫩草影院免费观看| 波多野结衣中文字幕免费视频|