JAVA面試題匯總:
一、Java基礎(chǔ)知識(shí)
1.Java有那些基本數(shù)據(jù)類型,String是不是基本數(shù)據(jù)類型,他們有何區(qū)別。
2.字符串的操作:
寫一個(gè)方法,實(shí)現(xiàn)字符串的反轉(zhuǎn),如:輸入abc,輸出cba
寫一個(gè)方法,實(shí)現(xiàn)字符串的替換,如:輸入bbbwlirbbb,輸出bbbhhtccc。
3.數(shù)據(jù)類型之間的轉(zhuǎn)換
如何將數(shù)值型字符轉(zhuǎn)換為數(shù)字(Integer,Double)
如何將數(shù)字轉(zhuǎn)換為字符
如何取小數(shù)點(diǎn)前兩位,并四舍五入。
4.日期和時(shí)間
如何取得年月日,小時(shí)分秒
如何取得從1970年到現(xiàn)在的毫秒數(shù)
如何獲取某個(gè)日期是當(dāng)月的最后一天
如何格式化日期
5.數(shù)組和集合
6.文件和目錄(I/O)操作
如何列出某個(gè)目錄下的所有文件
如何列出某個(gè)目錄下的所有子目錄
判斷一個(gè)文件或目錄是否存在
如何讀寫文件
7.Java多態(tài)的實(shí)現(xiàn)(繼承、重載、覆蓋)
8.編碼轉(zhuǎn)換,怎樣實(shí)現(xiàn)將GB2312編碼的字符串轉(zhuǎn)換為ISO-8859-1編碼的字符串。
9.Java中訪問(wèn)數(shù)據(jù)庫(kù)的步驟,Statement和PreparedStatement之間的區(qū)別。
10.找出下列代碼可能存在的錯(cuò)誤,并說(shuō)明原因:
二、JSP&Servlet技術(shù)
1.描述JSP和Servlet的區(qū)別、共同點(diǎn)、各自應(yīng)用的范圍
2.在Web開發(fā)中需要處理HTML標(biāo)記時(shí),應(yīng)做什么樣的處理,要篩選那些字符(< > & “”)
3.在JSP中如何讀取客戶端的請(qǐng)求,如何訪問(wèn)CGI變量,如何確定某個(gè)Jsp文件的真實(shí)路徑。
4.描述Cookie和Session的作用,區(qū)別和各自的應(yīng)用范圍,Session工作原理。
5.列出Jsp中包含外部文件的方式,兩者有何區(qū)別。
6.說(shuō)明Jsp中errorPage的作用,應(yīng)用范圍。
7.介紹在Jsp中如何使用JavaBeans。
8.簡(jiǎn)單介紹JSP的標(biāo)記庫(kù)
9.Jsp和Servlet中的請(qǐng)求轉(zhuǎn)發(fā)分別如何實(shí)現(xiàn)。
三、J2EE相關(guān)知識(shí)
1.介紹J2EE、J2SE、J2SE的區(qū)別。
2.J2EE是一種技術(shù)還是一種平臺(tái),他提供了那些技術(shù)。
3.什么是Application Server,它有什么功能和優(yōu)點(diǎn)。
4.簡(jiǎn)單介紹連接池的優(yōu)點(diǎn)和原理。
5.Web.xml的作用
四、其他
1.Web安全性的考慮(表單驗(yàn)證、瀏覽器Basic方式的驗(yàn)證,應(yīng)用程序的安全性,SSL,代碼考慮)
2.簡(jiǎn)單介紹您所了解的MVC。
3.簡(jiǎn)單介紹所了解的XML。
4.文檔和編碼規(guī)范
5.Java中的分頁(yè)、效率考慮。
6.簡(jiǎn)單介紹您所了解的structs。
五:JAVA
1.xml在項(xiàng)目中的作用
2.s-EJB 與 e-EJB的區(qū)別
3.會(huì)話面的作用
4.cmp與bmp的優(yōu)缺點(diǎn)
5.j2me程序的必需的幾個(gè)部分
6.c/s與b/s的區(qū)別
7.構(gòu)建一個(gè)connect pool,然后再調(diào)用它,
8.j2ee平臺(tái)與dotnet平臺(tái)的區(qū)別
9.ejb的life cycle
10.session bean 和 entity bean的區(qū)別
11.ejb中的transaction機(jī)制
12.synchronized (生產(chǎn)者和消費(fèi))
13.String 和 StringBuffer
14.Serializable
15.MVC (Struts的工作流程)
16.什么是MDA
17.tcp與udp的區(qū)別
18.鏈表與散列表和數(shù)組的區(qū)別
19.堆和棧的區(qū)別
20.ejb的分類及區(qū)別
21.你對(duì)現(xiàn)在軟件業(yè)以及國(guó)內(nèi)軟件業(yè)的看法
22.談?wù)刯ava多線程
23.談?wù)勎募用芗夹g(shù)
24.軟件開發(fā)生命周期
25.路由協(xié)議種類及特點(diǎn)
26.java的awt和swing組件的GUI設(shè)計(jì)的關(guān)鍵
27.對(duì)于java流的認(rèn)識(shí)
28.簡(jiǎn)單描述一下awt與swing區(qū)別。
29.簡(jiǎn)述java編程中事件處理模式。
30.你編寫過(guò)applet嗎?applet的安全權(quán)限如何?試列舉java application或者applet中與servlet/jsp通信可以采用的方式。
31.簡(jiǎn)述邏輯操作(如&,|)與條件操作(如&&,||)的區(qū)別。
32.簡(jiǎn)述 Java Server Page 和 Servlet 的聯(lián)系和區(qū)別。
33.簡(jiǎn)述synchronized和java.util.concurrent.locks.Lock的異同 ?
34.EJB規(guī)范規(guī)定EJB中禁止的操作有哪些?
35.java除了8種基本類型外,在虛擬機(jī)里還有哪一種,有什么作用?
36.除了使用new關(guān)鍵字創(chuàng)建對(duì)象意外,試列舉另外三種以上創(chuàng)建實(shí)例的方式?
37.classloader中,JDK的API、Classpath中的同web-inf中的class加載方式有什么區(qū)別?
38.列舉三種以上垃圾回收算法,并比較其優(yōu)缺點(diǎn)?
39.編寫代碼實(shí)現(xiàn)一個(gè)線程池
40.描述一下JVM加載class文件的原理機(jī)制?
41.試舉例說(shuō)明一個(gè)典型的垃圾回收算法?
42.請(qǐng)用java寫二叉樹算法,實(shí)現(xiàn)添加數(shù)據(jù)形成二叉樹功能,并以先序的方式打印出來(lái).
43.請(qǐng)寫一個(gè)java程序?qū)崿F(xiàn)線程連接池功能?
44.給定一個(gè)C語(yǔ)言函數(shù),要求實(shí)現(xiàn)在java類中進(jìn)行調(diào)用。
45.如何獲得數(shù)組的長(zhǎng)度?
46.訪問(wèn)修飾符“public/private/protected/缺省的修飾符”的使用
47.用關(guān)鍵字final修飾一個(gè)類或者方法時(shí),有何意義?
48.掌握類和對(duì)象的概念,掌握面向?qū)ο缶幊痰谋举|(zhì)
49.靜態(tài)變量和靜態(tài)方法的意義,如何引用一個(gè)類的靜態(tài)變量或者靜態(tài)方法?
50.JAVA語(yǔ)言如何進(jìn)行異常處理,關(guān)鍵字:thorws,throw,try,catch,finally
51.Object類(或者其子類)的finalize()方法在什么情況下被調(diào)用?
52.一個(gè)“.java”原文件中是否可以包括多個(gè)類(不是內(nèi)部類)?
53.掌握內(nèi)部類和接口的概念
54.StringTokenizer類的使用
55.數(shù)據(jù)結(jié)構(gòu),如何遍歷List中的元素?
如果要按照鍵值保存或者訪問(wèn)數(shù)據(jù),使用什么數(shù)據(jù)結(jié)構(gòu)?
要掌握Collection相關(guān)的接口和類的使用
56.使用StringBuffer類與String類進(jìn)行字符串連接時(shí)有何區(qū)別?
57.調(diào)用Thread類的destroy()方法有什么后果?
58.多線程,用什么關(guān)鍵字修飾同步方法?stop()和suspend()方法為何不推薦使用?
59.使用socket建立客戶端與服務(wù)器的通信的過(guò)程
60.JAVA語(yǔ)言國(guó)際化應(yīng)用,Locale類,Unicode
61.描述反射機(jī)制的作用
62.如何讀寫一個(gè)文件?
63.在圖形界面中,一個(gè)按鈕如何處理鼠標(biāo)點(diǎn)擊事件?
64.在圖形界面中,一個(gè)表格,如何實(shí)現(xiàn)編輯單元格時(shí)彈出下拉框?
65.如何加載圖片?
66.什么是模態(tài)對(duì)話框?
67.闡述MVC的概念
68.GUI布局管理器的使用,F(xiàn)lowLayout,BorderLayout,GridBagLayout
69.如何構(gòu)造一棵樹?選擇樹的一個(gè)節(jié)點(diǎn)時(shí),如何得到這個(gè)節(jié)點(diǎn)?
70.向編輯框中輸入字符時(shí),如何控制只輸入整數(shù)?
71.描述使用JDBC連接數(shù)據(jù)庫(kù)的過(guò)程
72.EJB分為幾類?什么是BMP,CMP?
73.什么是JNDI?
74.ADO是什么?ActiveX數(shù)據(jù)對(duì)象,是一個(gè)應(yīng)用級(jí)程序接口.
75.四種JDBC方式?目前的版本?
76.EJB有哪幾種?區(qū)別是什么?
77.JavaBean與EJB有什么區(qū)別?
78.軟件開發(fā)生命周期有哪幾個(gè)階段?
79.軟件開發(fā)有哪些因素?
80.軟件開發(fā)中如何進(jìn)行版本控制?
81.UML中,類視圖如何表示類中的繼承與聚合?
82.客戶端游標(biāo)與服務(wù)器端游標(biāo)的區(qū)別?
83.動(dòng)態(tài)游標(biāo)與靜態(tài)游標(biāo)的區(qū)別?
84.dotnet由哪幾個(gè)基本框架組成?
85.Oracle中SGA是什么?
86.web servers是什么?
87.UNIX中QT是什么意思?
88.在軟件開發(fā)生命周期中的哪個(gè)階段開始測(cè)試?
89.dotnet與J2EE的比較?
90.什么是ActiveX?
91.Java中IDL是什么?
相關(guān)導(dǎo)讀: