<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)

    隨筆分類

    文章分類

    好友

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    很快就畢業(yè)了,之前去過面試兩家公司都考到一些java,linux,SQL,智力等的題目,今天想做個(gè)總結(jié)把網(wǎng)上找到的面試題目整合一下,方便偶以后面試所用,也當(dāng)復(fù)習(xí)一下基礎(chǔ)。
    java基礎(chǔ)題:

    1、作用域public,private,protected,以及不寫時(shí)的區(qū)別
    答:區(qū)別如下:
    作用域 當(dāng)前類 同一package 子孫類 其他package
    public √ √ √ √
    protected √ √ √ ×
    friendly √ √ × ×
    private √ × × ×
    不寫時(shí)默認(rèn)為friendly

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

    3、char型變量中能不能存貯一個(gè)中文漢字?為什么?
    答:是能夠定義成為一個(gè)中文的,因?yàn)閖ava中以unicode編碼,一個(gè)char占16個(gè)字節(jié),所以放一個(gè)中文是沒問題的

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

    5、繼承時(shí)候類的執(zhí)行順序問題,一般都是選擇題,問你將會打印出什么?
    答:父類:
    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();
    }
    }
    輸出結(jié)果:
    C:\>java test.ChildClass
    FatherClass Create
    FatherClass Create
    ChildClass Create

    6、內(nèi)部類的實(shí)現(xiàn)方式?
    答:示例代碼如下:
    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();
    }
    }
    輸出結(jié)果:
    C:\>java test/OuterClass
    InterClass Create
    OuterClass Create
    再一個(gè)例題:
    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();
    }
    說明如下:
    一.靜態(tài)內(nèi)部類可以有靜態(tài)成員,而非靜態(tài)內(nèi)部類則不能有靜態(tài)成員。 故 A、B 錯(cuò)
    二.靜態(tài)內(nèi)部類的非靜態(tài)成員可以訪問外部類的靜態(tài)變量,而不可訪問外部類的非靜態(tài)變量;return d1 出錯(cuò)。

    故 D 錯(cuò)
    三.非靜態(tài)內(nèi)部類的非靜態(tài)成員可以訪問外部類的非靜態(tài)變量。 故 C 正確
    四.答案為C、E

    7、垃圾回收機(jī)制,如何優(yōu)化程序?
    希望大家補(bǔ)上,謝謝

    8、float型float f=3.4是否正確?
    答:不正確。精度不準(zhǔn)確,應(yīng)該用強(qiáng)制類型轉(zhuǎn)換,如下所示:float f=(float)3.4

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

    10、Java中異常處理機(jī)制,事件機(jī)制?

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

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

    13、Java 的通信編程,編程題(或問答),用JAVA SOCKET編程,讀服務(wù)器幾個(gè)字符,再寫入本地顯示
    答: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實(shí)現(xiàn)一種排序,JAVA類實(shí)現(xiàn)序列化的方法(二種)? 如在COLLECTION框架中,實(shí)現(xiàn)比較要實(shí)現(xiàn)什么樣的接口?
    答:用插入法進(jìn)行排序代碼如下
    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類實(shí)現(xiàn)序例化的方法是實(shí)現(xiàn)java.io.Serializable接口
    Collection框架中實(shí)現(xiàn)比較要實(shí)現(xiàn)Comparable 接口和 Comparator 接口

    15、編程:編寫一個(gè)截取字符串的函數(shù),輸入為一個(gè)字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。 但是要保證漢字不被截半個(gè),如“我ABC”4,應(yīng)該截為“我AB”,輸入“我ABC漢DEF”,6,應(yīng)該輸出為“我ABC”而不是“我ABC+漢的半個(gè)”。
    答:代碼如下:
    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有哪些內(nèi)置對象?作用分別是什么?
    答:JSP共有以下9種基本內(nèi)置組件(可與ASP的6種內(nèi)部組件相對應(yīng)):
     request 用戶端請求,此請求會包含來自GET/POST請求的參數(shù)
    response 網(wǎng)頁傳回用戶端的回應(yīng)
    pageContext 網(wǎng)頁的屬性是在這里管理
    session 與請求有關(guān)的會話期
    application servlet 正在執(zhí)行的內(nèi)容
    out 用來傳送回應(yīng)的輸出
    config servlet的構(gòu)架部件
    page JSP網(wǎng)頁本身
    exception 針對錯(cuò)誤網(wǎng)頁,未捕捉的例外

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

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

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

    Servlet方面?

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

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

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

    4、Servlet的基本架構(gòu)?
    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有哪些解析技術(shù)?區(qū)別是什么?
    答:有DOM,SAX,STAX等
    DOM:處理大型文件時(shí)其性能下降的非常厲害。這個(gè)問題是由DOM的樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且DOM必須在解析文件之前把整個(gè)文檔裝入內(nèi)存,適合對XML的隨機(jī)訪問SAX:不現(xiàn)于DOM,SAX是事件驅(qū)動(dòng)型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個(gè)文件。當(dāng)遇到像文件開頭,文檔結(jié)束,或者標(biāo)簽開頭與標(biāo)簽結(jié)束時(shí),它會觸發(fā)一個(gè)事件,用戶通過在其回調(diào)事件中寫入處理代碼來處理XML文件,適合對XML的順序訪問
    STAX:Streaming API for XML (StAX)

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

    設(shè)計(jì)模式方面

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

    2、UML方面?有哪五種圖視?
    答:標(biāo)準(zhǔn)建模語言UML。用例圖,靜態(tài)圖(包括類圖、對象圖和包圖),行為圖,交互圖(順序圖,合作圖),實(shí)現(xiàn)圖,

    JavaScript方面

    1、如何校驗(yàn)數(shù)字型?
    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實(shí)現(xiàn)的就是基于核心輕量級進(jìn)程的"一對一"線程模型,一個(gè)線程實(shí)體對應(yīng)一個(gè)核心輕量級進(jìn)程,而線程之間的管理在核外函數(shù)庫中實(shí)現(xiàn)。
    GDI類為圖像設(shè)備編程接口類庫。

    變態(tài)試題集

    1。變態(tài)指數(shù) 4
    int x=4;
    System.out.println("value is " +((x>4)?99.9:9));
    答案 9.0 問號表達(dá)式的后面兩個(gè)條件有要求,因?yàn)榍懊娴氖莊loat,所以后面轉(zhuǎn)為float.
    估計(jì)出題者才通過SCJP的考試。
    2.變態(tài)指數(shù) 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.變態(tài)指數(shù) 6
    String s=new String("abc");
    創(chuàng)建了幾個(gè)String對象?
    答案 2個(gè)
    這樣的公司最好不要去

    4.變態(tài)指數(shù) 7
    const是不是java的關(guān)鍵字?
    答案 const是java的關(guān)鍵字,但是java沒有實(shí)現(xiàn)它
    一般人絕對用不到它

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

    posted on 2006-03-02 13:56 badboy 閱讀(281) 評論(0)  編輯  收藏 所屬分類: Java基礎(chǔ)

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 美女免费精品高清毛片在线视| 黄桃AV无码免费一区二区三区| 在线观看免费国产视频| 巨胸喷奶水视频www免费视频| 亚洲日本一区二区三区| 日本特黄特色免费大片| 叮咚影视在线观看免费完整版| 亚洲国产综合精品| 国产成人精品久久亚洲| av大片在线无码免费| fc2成年免费共享视频网站| 亚洲美女视频一区| 亚洲欧洲一区二区三区| 日本zzzzwww大片免费| 一级做a毛片免费视频| 亚洲制服丝袜第一页| 在线观看亚洲av每日更新| 成年美女黄网站18禁免费| 免费网站观看WWW在线观看| 亚洲av成人一区二区三区观看在线| 久久精品国产亚洲网站| 日韩免费三级电影| 国产精品免费观看| 99在线热播精品免费99热| 久久久久亚洲AV无码去区首| 亚洲精品免费在线视频| 亚洲狠狠婷婷综合久久久久 | 歪歪漫画在线观看官网免费阅读| 日韩大片免费观看视频播放| 亚洲一本之道高清乱码| 久久国产精品亚洲一区二区| 亚洲成aⅴ人片久青草影院| 欧美男同gv免费网站观看| 免费国产黄网站在线观看视频 | 四虎成人精品在永久免费| 国产精品视频免费| 99精品视频在线观看免费播放| 成人网站免费大全日韩国产| 无人视频在线观看免费播放影院| 亚洲精华国产精华精华液好用| 亚洲欧洲日产专区|