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

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

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

    隨筆 - 6  文章 - 0  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(2)

    隨筆分類

    文章分類

    好友

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    很快就畢業了,之前去過面試兩家公司都考到一些java,linux,SQL,智力等的題目,今天想做個總結把網上找到的面試題目整合一下,方便偶以后面試所用,也當復習一下基礎。
    java基礎題:

    1、作用域public,private,protected,以及不寫時的區別
    答:區別如下:
    作用域 當前類 同一package 子孫類 其他package
    public √ √ √ √
    protected √ √ √ ×
    friendly √ √ × ×
    private √ × × ×
    不寫時默認為friendly

    2、ArrayList和Vector的區別,HashMap和Hashtable的區別
    答:就ArrayList與Vector主要從二方面來說.
    一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的
    二.數據增長:當需要增長時,Vector默認增長為原來一培,而ArrayList卻是原來的一半
    就HashMap與HashTable主要從三方面來說。
    一.歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現
    二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的
    三.值:只有HashMap可以讓你將空值作為一個表的條目的key或value

    3、char型變量中能不能存貯一個中文漢字?為什么?
    答:是能夠定義成為一個中文的,因為java中以unicode編碼,一個char占16個字節,所以放一個中文是沒問題的

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

    5、繼承時候類的執行順序問題,一般都是選擇題,問你將會打印出什么?
    答:父類:
    package test;
    public class FatherClass
    {
    public FatherClass()
    {
    System.out.println("FatherClass Create");
    }
    }
    子類:
    package test;
    import test.FatherClass;
    public class ChildClass extends FatherClass
    {
    public ChildClass()
    {
    System.out.println("ChildClass Create");
    }
    public static void main(String[] args)
    {
    FatherClass fc = new FatherClass();
    ChildClass cc = new ChildClass();
    }
    }
    輸出結果:
    C:\>java test.ChildClass
    FatherClass Create
    FatherClass Create
    ChildClass Create

    6、內部類的實現方式?
    答:示例代碼如下:
    package test;
    public class OuterClass
    {
    private class InterClass
    {
    public InterClass()
    {
    System.out.println("InterClass Create");
    }
    }
    public OuterClass()
    {
    InterClass ic = new InterClass();
    System.out.println("OuterClass Create");
    }
    public static void main(String[] args)
    {
    OuterClass oc = new OuterClass();
    }
    }
    輸出結果:
    C:\>java test/OuterClass
    InterClass Create
    OuterClass Create
    再一個例題:
    public class OuterClass {
    private double d1 = 1.0;
    //insert code here
    }
    You need to insert an inner class declaration at line 3. Which two inner class declarations are

    valid?(Choose two.)
    A. class InnerOne{
    public static double methoda() {return d1;}
    }
    B. public class InnerOne{
    static double methoda() {return d1;}
    }
    C. private class InnerOne{
    double methoda() {return d1;}
    }
    D. static class InnerOne{
    protected double methoda() {return d1;}
    }
    E. abstract class InnerOne{
    public abstract double methoda();
    }
    說明如下:
    一.靜態內部類可以有靜態成員,而非靜態內部類則不能有靜態成員。 故 A、B 錯
    二.靜態內部類的非靜態成員可以訪問外部類的靜態變量,而不可訪問外部類的非靜態變量;return d1 出錯。

    故 D 錯
    三.非靜態內部類的非靜態成員可以訪問外部類的非靜態變量。 故 C 正確
    四.答案為C、E

    7、垃圾回收機制,如何優化程序?
    希望大家補上,謝謝

    8、float型float f=3.4是否正確?
    答:不正確。精度不準確,應該用強制類型轉換,如下所示:float f=(float)3.4

    9、介紹JAVA中的Collection FrameWork(包括如何寫自己的數據結構)?
    答:Collection FrameWork如下:
    Collection
    ├List
    │├LinkedList
    │├ArrayList
    │└Vector
    │ └Stack
    └Set
    Map
    ├Hashtable
    ├HashMap
    └WeakHashMap
    Collection是最基本的集合接口,一個Collection代表一組Object,即Collection的元素(Elements)
    Map提供key到value的映射

    10、Java中異常處理機制,事件機制?

    11、JAVA中的多形與繼承?
    希望大家補上,謝謝

    12、抽象類與接口?
    答:抽象類與接口都用于抽象,但是抽象類(JAVA中)可以有自己的部分實現,而接口則完全是一個標識(同時有多重繼承的功能)。

    13、Java 的通信編程,編程題(或問答),用JAVA SOCKET編程,讀服務器幾個字符,再寫入本地顯示
    答:Server端程序:
    package test;
    import java.net.*;
    import java.io.*;

    public class Server
    {
    private ServerSocket ss;
    private Socket socket;
    private BufferedReader in;
    private PrintWriter out;
    public Server()
    {
    try
    {
    ss=new ServerSocket(10000);
    while(true)
    {
    socket = ss.accept();
    String RemoteIP = socket.getInetAddress().getHostAddress();
    String RemotePort = ":"+socket.getLocalPort();
    System.out.println("A client come in!IP:"+RemoteIP+RemotePort);
    in = new BufferedReader(new

    InputStreamReader(socket.getInputStream()));
    String line = in.readLine();
    System.out.println("Cleint send is :" + line);
    out = new PrintWriter(socket.getOutputStream(),true);
    out.println("Your Message Received!");
    out.close();
    in.close();
    socket.close();
    }
    }catch (IOException e)
    {
    out.println("wrong");
    }
    }
    public static void main(String[] args)
    {
    new Server();
    }
    };
    Client端程序:
    package test;
    import java.io.*;
    import java.net.*;

    public class Client
    {
    Socket socket;
    BufferedReader in;
    PrintWriter out;
    public Client()
    {
    try
    {
    System.out.println("Try to Connect to 127.0.0.1:10000");
    socket = new Socket("127.0.0.1",10000);
    System.out.println("The Server Connected!");
    System.out.println("Please enter some Character:");
    BufferedReader line = new BufferedReader(new

    InputStreamReader(System.in));
    out = new PrintWriter(socket.getOutputStream(),true);
    out.println(line.readLine());
    in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    System.out.println(in.readLine());
    out.close();
    in.close();
    socket.close();
    }catch(IOException e)
    {
    out.println("Wrong");
    }
    }
    public static void main(String[] args)
    {
    new Client();
    }
    };

    14、用JAVA實現一種排序,JAVA類實現序列化的方法(二種)? 如在COLLECTION框架中,實現比較要實現什么樣的接口?
    答:用插入法進行排序代碼如下
    package test;
    import java.util.*;
    class InsertSort
    {
    ArrayList al;
    public InsertSort(int num,int mod)
    {
    al = new ArrayList(num);
    Random rand = new Random();
    System.out.println("The ArrayList Sort Before:");
    for (int i=0;i<num ;i++ )
    {
    al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1));
    System.out.println("al["+i+"]="+al.get(i));
    }
    }
    public void SortIt()
    {
    Integer tempInt;
    int MaxSize=1;
    for(int i=1;i<al.size();i++)
    {
    tempInt = (Integer)al.remove(i);
    if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue())
    {
    al.add(MaxSize,tempInt);
    MaxSize++;
    System.out.println(al.toString());
    } else {
    for (int j=0;j<MaxSize ;j++ )
    {
    if

    (((Integer)al.get(j)).intValue()>=tempInt.intValue())
    {
    al.add(j,tempInt);
    MaxSize++;
    System.out.println(al.toString());
    break;
    }
    }
    }
    }
    System.out.println("The ArrayList Sort After:");
    for(int i=0;i<al.size();i++)
    {
    System.out.println("al["+i+"]="+al.get(i));
    }
    }
    public static void main(String[] args)
    {
    InsertSort is = new InsertSort(10,100);
    is.SortIt();
    }
    }
    JAVA類實現序例化的方法是實現java.io.Serializable接口
    Collection框架中實現比較要實現Comparable 接口和 Comparator 接口

    15、編程:編寫一個截取字符串的函數,輸入為一個字符串和字節數,輸出為按字節截取的字符串。 但是要保證漢字不被截半個,如“我ABC”4,應該截為“我AB”,輸入“我ABC漢DEF”,6,應該輸出為“我ABC”而不是“我ABC+漢的半個”。
    答:代碼如下:
    package test;

    class SplitString
    {
    String SplitStr;
    int SplitByte;
    public SplitString(String str,int bytes)
    {
    SplitStr=str;
    SplitByte=bytes;
    System.out.println("The String is:′"+SplitStr+"′;SplitBytes="+SplitByte);
    }
    public void SplitIt()
    {
    int loopCount;

    loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/Split

    Byte+1);
    System.out.println("Will Split into "+loopCount);
    for (int i=1;i<=loopCount ;i++ )
    {
    if (i==loopCount){

    System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length()));
    } else {

    System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte)));

    Jsp方面

    1、jsp有哪些內置對象?作用分別是什么?
    答:JSP共有以下9種基本內置組件(可與ASP的6種內部組件相對應):
     request 用戶端請求,此請求會包含來自GET/POST請求的參數
    response 網頁傳回用戶端的回應
    pageContext 網頁的屬性是在這里管理
    session 與請求有關的會話期
    application servlet 正在執行的內容
    out 用來傳送回應的輸出
    config servlet的構架部件
    page JSP網頁本身
    exception 針對錯誤網頁,未捕捉的例外

    2、jsp有哪些動作?作用分別是什么?
    答:JSP共有以下6種基本動作
    jsp:include:在頁面被請求的時候引入一個文件。
    jsp:useBean:尋找或者實例化一個JavaBean
    jsp:setProperty:設置JavaBean的屬性。
    jsp:getProperty:輸出某個JavaBean的屬性。
    jsp:forward:把請求轉到一個新的頁面。
    jsp:plugin:根據瀏覽器類型為Java插件生成OBJECT或EMBED標記

    3、JSP中動態INCLUDE與靜態INCLUDE的區別?
    答:動態INCLUDE用jsp:include動作實現
    <jsp:include page="included.jsp" flush="true" />它總是會檢查所含文件中的變化,適合用于包含動態頁面,并且可以帶參數
    靜態INCLUDE用include偽碼實現,定不會檢查所含文件的變化,適用于包含靜態頁面
    <%@ include file="included.htm" %>

    4、兩種跳轉方式分別是什么?有什么區別?
    答:有兩種,分別為:
    <jsp:include page="included.jsp" flush="true">
    <jsp:forward page= "nextpage.jsp"/>
    前者頁面不會轉向include所指的頁面,只是顯示該頁的結果,主頁面還是原來的頁面。執行完后還會回來,相當于函數調用。并且可以帶參數.后者完全轉向新頁面,不會再回來。相當于go to 語句。

    Servlet方面?

    1、說一說Servlet的生命周期??
    答:servlet有良好的生存期的定義,包括加載和實例化、初始化、處理請求以及服務結束。這個生存期由javax.servlet.Servlet接口的init,service和destroy方法表達。?

    2、Servlet版本間(忘了問的是哪兩個版本了)的不同??
    希望大家補上,謝謝?

    3、JAVA?SERVLET?API中forward()?與redirect()的區別??
    答:前者僅是容器中控制權的轉向,在客戶端瀏覽器地址欄中不會顯示出轉向后的地址;后者則是完全的跳轉,瀏覽器將會得到跳轉的地址,并重新發送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時,盡量使用forward()方法,并且,這樣也有助于隱藏實際的鏈接。在有些情況下,比如,需要跳轉到一個其它服務器上的資源,則必須使用sendRedirect()方法。?

    4、Servlet的基本架構?
    public?class?ServletName?extends?HttpServlet?{?
    public?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)?throws?
    ServletException,?IOException?{?
    }?
    public?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)?throws?
    ServletException,?IOException?{?
    }?
    }?

    Xml方面

    1、xml有哪些解析技術?區別是什么?
    答:有DOM,SAX,STAX等
    DOM:處理大型文件時其性能下降的非常厲害。這個問題是由DOM的樹結構所造成的,這種結構占用的內存較多,而且DOM必須在解析文件之前把整個文檔裝入內存,適合對XML的隨機訪問SAX:不現于DOM,SAX是事件驅動型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個文件。當遇到像文件開頭,文檔結束,或者標簽開頭與標簽結束時,它會觸發一個事件,用戶通過在其回調事件中寫入處理代碼來處理XML文件,適合對XML的順序訪問
    STAX:Streaming API for XML (StAX)

    2、你在項目中用到了xml技術的哪些方面?如何實現的?
    答:用到了數據存貯,信息配置兩方面。在做數據交換平臺時,將不能數據源的數據組裝成XML文件,然后將XML文件壓縮打包加密后通過網絡傳送給接收者,接收解密與解壓縮后再同XML文件中還原相關信息進行處理。在做軟件配置時,利用XML可以很方便的進行,軟件的各種配置參數都存貯在XML文件中。

    設計模式方面

    1、開發中都用到了那些設計模式?用在什么場合?
    答:每個模式都描述了一個在我們的環境中不斷出現的問題,然后描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在重復相同的工作。主要用到了MVC的設計模式。用來開發JSP/Servlet或者J2EE的相關應用。簡單工廠模式等。

    2、UML方面?有哪五種圖視?
    答:標準建模語言UML。用例圖,靜態圖(包括類圖、對象圖和包圖),行為圖,交互圖(順序圖,合作圖),實現圖,

    JavaScript方面

    1、如何校驗數字型?
    var re=/^\d{1,8}$|\.\d{1,2}$/;
    var str=document.form1.all(i).value;
    var r=str.match(re);
    if (r==null)
    {
    sign=-4;
    break;
    }
    else{
    document.form1.all(i).value=parseFloat(str);
    }

    LINUX方面

    1、LINUX下線程,GDI類的解釋。
    答:LINUX實現的就是基于核心輕量級進程的"一對一"線程模型,一個線程實體對應一個核心輕量級進程,而線程之間的管理在核外函數庫中實現。
    GDI類為圖像設備編程接口類庫。

    變態試題集

    1。變態指數 4
    int x=4;
    System.out.println("value is " +((x>4)?99.9:9));
    答案 9.0 問號表達式的后面兩個條件有要求,因為前面的是float,所以后面轉為float.
    估計出題者才通過SCJP的考試。
    2.變態指數 5
    public class Test {

    public static void main(String[] args) {
    int x = 4;
    java.util.Date date = (x > 4) ? new A() : new B();
    }
    }

    class A extends java.util.Date {}
    class B extends java.util.Date {}
    答案 編譯不通過,
    不知道出題人的意圖
    3.變態指數 6
    String s=new String("abc");
    創建了幾個String對象?
    答案 2個
    這樣的公司最好不要去

    4.變態指數 7
    const是不是java的關鍵字?
    答案 const是java的關鍵字,但是java沒有實現它
    一般人絕對用不到它

    5.變態指數 8
    ,short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?
    答案 1錯2對,1因為向上轉型了,最后導致類型不匹配錯誤 ,
    因為s1的+=是一個操作符,能夠自動轉型,
    short s1 = 1;
    s1 = s1+1;這句話在c++里面可以的
    不知道出題人的意圖
    6.變態指數 9
    上海貝爾的面試題:你認為效率最高的方法,實現從1加到100.
    答案 1-100的累加相當于加50次101,這樣循環次數從100次降為50次:
    int sun = 0
    for(int i = 1,j = 100 ; i <= 50 ; i++,j--){
    ??? sun = sun + i + j;
    }?
    出題人腦子有問題,直接(1+100)*50不是最快...其實類似這樣的優化應該不是程序員考慮的范疇吧
    7.變態指數 10
    ?System.out.println(5.0942*1000);
    ???? System.out.println(5.0943*1000);
    ? System.out.println(5.0944*1000);的結果
    答案 :5094.2 5094.299999999999 5094.400000000001
    原理和浮點數的計算機表示方式有關 ,你不用上機,就答對了,你最好去微軟,接替安德爾森.

    posted on 2006-03-02 13:56 badboy 閱讀(281) 評論(0)  編輯  收藏 所屬分類: Java基礎
    主站蜘蛛池模板: 久久久无码精品亚洲日韩京东传媒 | 18级成人毛片免费观看| 久久久无码精品亚洲日韩蜜桃 | 无码人妻久久一区二区三区免费 | 久久精品免费一区二区喷潮| 亚洲网站在线播放| 久久综合久久综合亚洲| 久久一区二区三区免费| 亚洲线精品一区二区三区影音先锋| 国产99精品一区二区三区免费| 扒开双腿猛进入爽爽免费视频| 国产亚洲一区二区三区在线不卡| 国产免费牲交视频免费播放| 亚洲处破女AV日韩精品| 在线免费中文字幕| 亚洲熟妇无码av另类vr影视| 国产一区二区三区免费视频| 亚洲精品美女在线观看| a级毛片无码免费真人| 高潮毛片无遮挡高清免费视频| 黄页网站免费在线观看| 亚洲一本一道一区二区三区| 亚洲成人高清在线| 久艹视频在线免费观看| 亚洲 日韩 色 图网站| 亚洲视频在线一区二区| 99久久久国产精品免费蜜臀| 亚洲日本成本人观看| 亚洲色大成网站www永久一区| 最近免费中文字幕大全免费 | 国产免费av片在线无码免费看| 中文字幕永久免费| 国产成人精品久久亚洲高清不卡 | 成全在线观看免费观看大全| 亚洲中文字幕AV每天更新| 国产成人精品曰本亚洲79ren| 足恋玩丝袜脚视频免费网站| 日韩免费高清一级毛片| 免费A级毛片av无码| 亚洲精品国产第一综合99久久| 亚洲人成人网站色www|