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

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

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

    編程之道

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

    某一家公司的測試題

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

     
    二、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 ...";
        }
    }
     看上去很完美。
    錯。方法不是靜態(tài)的,所以一定要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());
        }
    }
    這個錯誤不容易發(fā)現。
    錯誤。接口內能實例話對象?

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

    評論

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

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


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

    主站蜘蛛池模板: 亚洲精品成人片在线观看| 午夜视频免费成人| 亚洲精品无码乱码成人| 特黄特色大片免费| 亚洲人AV永久一区二区三区久久| 国产亚洲人成在线影院| 免费中文字幕一级毛片| eeuss影院免费92242部| 亚洲综合AV在线在线播放| 18禁在线无遮挡免费观看网站| 久久久久久久久亚洲| 91热成人精品国产免费| 亚洲一区二区三区国产精品无码 | 亚洲国产日韩综合久久精品| 国产麻豆视频免费观看| 日韩亚洲综合精品国产| 亚洲国产精品不卡毛片a在线| www成人免费视频| 久久久久久久久亚洲| 中文字幕影片免费在线观看| 亚洲国产无线乱码在线观看| 亚洲国产精品国产自在在线| a级毛片免费在线观看| 99亚洲精品高清一二区| 成人免费看黄20分钟| 深夜福利在线视频免费| 久久精品国产精品亚洲艾| 久久久久国色AV免费看图片| 成人免费网站视频www| 亚洲AV永久精品爱情岛论坛| 九九精品免费视频| 男男gay做爽爽的视频免费| 亚洲日产无码中文字幕| 国产曰批免费视频播放免费s| 久久亚洲精品高潮综合色a片| 亚洲区小说区图片区QVOD| 最近最新中文字幕完整版免费高清| 美女被艹免费视频| 亚洲精品福利在线观看| 男人的天堂亚洲一区二区三区| 成人免费网站久久久|