學(xué)習(xí)啦>創(chuàng)業(yè)指南>職場>面試題>

JAVA面試題全集

時(shí)間: 護(hù)托1061 分享

  JAVA語言如何進(jìn)行異常處理?下面就由學(xué)習(xí)啦小編為大家介紹一下JAVA面試題全集的文章,歡迎閱讀。

  JAVA面試題全集篇1

  一、Java基礎(chǔ)知識

  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中訪問數(shù)據(jù)庫的步驟,Statement和PreparedStatement之間的區(qū)別。

  10.找出下列代碼可能存在的錯(cuò)誤,并說明原因:

  二、JSP&Servlet技術(shù)

  1.描述JSP和Servlet的區(qū)別、共同點(diǎn)、各自應(yīng)用的范圍

  2.在Web開發(fā)中需要處理HTML標(biāo)記時(shí),應(yīng)做什么樣的處理,要篩選那些字符(< > & “”)

  3.在JSP中如何讀取客戶端的請求,如何訪問CGI變量,如何確定某個(gè)Jsp文件的真實(shí)路徑。

  4.描述Cookie和Session的作用,區(qū)別和各自的應(yīng)用范圍,Session工作原理。

  5.列出Jsp中包含外部文件的方式,兩者有何區(qū)別。

  6.說明Jsp中errorPage的作用,應(yīng)用范圍。

  7.介紹在Jsp中如何使用JavaBeans。

  8.簡單介紹JSP的標(biāo)記庫

  9.Jsp和Servlet中的請求轉(zhuǎn)發(fā)分別如何實(shí)現(xiàn)。

  三、J2EE相關(guān)知識

  1.介紹J2EE、J2SE、J2SE的區(qū)別。

  2.J2EE是一種技術(shù)還是一種平臺,他提供了那些技術(shù)。

  3.什么是Application Server,它有什么功能和優(yōu)點(diǎn)。

  4.簡單介紹連接池的優(yōu)點(diǎn)和原理。

  5.Web.xml的作用

  四、其他

  1.Web安全性的考慮(表單驗(yàn)證、瀏覽器Basic方式的驗(yàn)證,應(yīng)用程序的安全性,SSL,代碼考慮)

  2.簡單介紹您所了解的MVC。

  3.簡單介紹所了解的XML。

  4.文檔和編碼規(guī)范

  5.Java中的分頁、效率考慮。

  6.簡單介紹您所了解的structs。

  JAVA面試題全集篇2

  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平臺與dotnet平臺的區(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.你對現(xiàn)在軟件業(yè)以及國內(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.對于java流的認(rèn)識

  28.簡單描述一下awt與swing區(qū)別。

  29.簡述java編程中事件處理模式。

  30.你編寫過applet嗎?applet的安全權(quán)限如何?試列舉java application或者applet中與servlet/jsp通信可以采用的方式。

  31.簡述邏輯操作(如&,|)與條件操作(如&&,||)的區(qū)別。

  32.簡述 Java Server Page 和 Servlet 的聯(lián)系和區(qū)別。

  33.簡述synchronized和java.util.concurrent.locks.Lock的異同 ?

  34.EJB規(guī)范規(guī)定EJB中禁止的操作有哪些?

  35.java除了8種基本類型外,在虛擬機(jī)里還有哪一種,有什么作用?

  36.除了使用new關(guān)鍵字創(chuàng)建對象意外,試列舉另外三種以上創(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.試舉例說明一個(gè)典型的垃圾回收算法?

  42.請用java寫二叉樹算法,實(shí)現(xiàn)添加數(shù)據(jù)形成二叉樹功能,并以先序的方式打印出來.

  43.請寫一個(gè)java程序?qū)崿F(xiàn)線程連接池功能?

  44.給定一個(gè)C語言函數(shù),要求實(shí)現(xiàn)在java類中進(jìn)行調(diào)用。

  45.如何獲得數(shù)組的長度?

  46.訪問修飾符“public/private/protected/缺省的修飾符”的使用

  47.用關(guān)鍵字final修飾一個(gè)類或者方法時(shí),有何意義?

  48.掌握類和對象的概念,掌握面向?qū)ο缶幊痰谋举|(zhì)

  49.靜態(tài)變量和靜態(tài)方法的意義,如何引用一個(gè)類的靜態(tài)變量或者靜態(tài)方法?

  50.JAVA語言如何進(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中的元素?

  如果要按照鍵值保存或者訪問數(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ù)器的通信的過程

  60.JAVA語言國際化應(yīng)用,Locale類,Unicode

  61.描述反射機(jī)制的作用

  62.如何讀寫一個(gè)文件?

  63.在圖形界面中,一個(gè)按鈕如何處理鼠標(biāo)點(diǎn)擊事件?

  64.在圖形界面中,一個(gè)表格,如何實(shí)現(xiàn)編輯單元格時(shí)彈出下拉框?

  65.如何加載圖片?

  66.什么是模態(tài)對話框?

  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ù)庫的過程

  72.EJB分為幾類?什么是BMP,CMP?

  73.什么是JNDI?

  74.ADO是什么?ActiveX數(shù)據(jù)對象,是一個(gè)應(yīng)用級程序接口.

  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è)階段開始測試?

  89.dotnet與J2EE的比較?

  90.什么是ActiveX?

  91.Java中IDL是什么?

  92.ISO9000和CMM是什么?IS09000和CMM(軟件能力成熟度模型)認(rèn)證是國際上通用的軟件質(zhì)量評估方法.CMM的五個(gè)成熟度等級。

  JAVA面試題全集篇3

  第一,談?wù)刦inal, finally, finalize的區(qū)別。

  final?修飾符(關(guān)鍵字)如果一個(gè)類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個(gè)類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時(shí)給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載

  finally?再異常處理時(shí)提供 finally 塊來執(zhí)行任何清除操作。如果拋出一個(gè)異常,那么相匹配的 catch 子句就會(huì)執(zhí)行,然后控制就會(huì)進(jìn)入 finally 塊(如果有的話)。

  finalize?方法名。Java 技術(shù)允許使用 finalize() 方法在垃圾收集器將對象從內(nèi)存中清除出去之前做必要的清理工作。這個(gè)方法是由垃圾收集器在確定這個(gè)對象沒有被引用時(shí)對這個(gè)對象調(diào)用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize() 方法是在垃圾收集器刪除對象之前對這個(gè)對象調(diào)用的。

  第二,Anonymous Inner Class (匿名內(nèi)部類) 是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))interface(接口)?

  匿名的內(nèi)部類是沒有名字的內(nèi)部類。不能extends(繼承) 其它類,但一個(gè)內(nèi)部類可以作為一個(gè)接口,由另一個(gè)內(nèi)部類實(shí)現(xiàn)。

  第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統(tǒng))。

  Nested Class (一般是C++的說法),Inner Class (一般是JAVA的說法)。Java內(nèi)部類與C++嵌套類最大的不同就在于是否有指向外部的引用上。

  注: 靜態(tài)內(nèi)部類(Inner Class)意味著1創(chuàng)建一個(gè)static內(nèi)部類的對象,不需要一個(gè)外部類對象,2不能從一個(gè)static內(nèi)部類的一個(gè)對象訪問一個(gè)外部類對象

  第七,什么時(shí)候用assert。

  斷言是一個(gè)包含布爾表達(dá)式的語句,在執(zhí)行這個(gè)語句時(shí)假定該表達(dá)式為 true。如果表達(dá)式計(jì)算為 false,那么系統(tǒng)會(huì)報(bào)告一個(gè) AssertionError。它用于調(diào)試目的:

  assert(a > 0); // throws an AssertionError if a <= 0

  斷言可以有兩種形式:

  assert Expression1 ;

  assert Expression1 : Expression2 ;

  Expression1 應(yīng)該總是產(chǎn)生一個(gè)布爾值。

  Expression2 可以是得出一個(gè)值的任意表達(dá)式。這個(gè)值用于生成顯示更多調(diào)試信息的 String 消息。

  斷言在默認(rèn)情況下是禁用的。要在編譯時(shí)啟用斷言,需要使用 source 1.4 標(biāo)記:

  javac -source 1.4 Test.java

  要在運(yùn)行時(shí)啟用斷言,可使用 -enableassertions 或者 -ea 標(biāo)記。

  要在運(yùn)行時(shí)選擇禁用斷言,可使用 -da 或者 -disableassertions 標(biāo)記。

  要系統(tǒng)類中啟用斷言,可使用 -esa 或者 -dsa 標(biāo)記。還可以在包的基礎(chǔ)上啟用或者禁用斷言。

  可以在預(yù)計(jì)正常情況下不會(huì)到達(dá)的任何位置上放置斷言。斷言可以用于驗(yàn)證傳遞給私有方法的參數(shù)。不過,斷言不應(yīng)該用于驗(yàn)證傳遞給公有方法的參數(shù),因?yàn)椴还苁欠駟⒂昧藬嘌裕蟹椒ǘ急仨殭z查其參數(shù)。不過,既可以在公有方法中,也可以在非公有方法中利用斷言測試后置條件。另外,斷言不應(yīng)該以任何方式改變程序的狀態(tài)。

  第九,String s = new String("xyz");創(chuàng)建了幾個(gè)String Object?

  兩個(gè)對象,一個(gè)是“xyx”,一個(gè)是指向“xyx”的引用對象s。

  第十一,short s1 = 1; s1 = s1 + 1;有什么錯(cuò)? short s1 = 1; s1 += 1;有什么錯(cuò)?

  short s1 = 1; s1 = s1 + 1;有錯(cuò),s1是short型,s1+1是int型,不能顯式轉(zhuǎn)化為short型??尚薷臑閟1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正確。

  第十二,sleep() 和 wait() 有什么區(qū)別? 搞線程的最愛

  sleep()方法是使線程停止一段時(shí)間的方法。在sleep 時(shí)間間隔期滿后,線程不一定立即恢復(fù)執(zhí)行。這是因?yàn)樵谀莻€(gè)時(shí)刻,其它線程可能正在運(yùn)行而且沒有被調(diào)度為放棄執(zhí)行,除非(a)“醒來”的線程具有更高的優(yōu)先級

  (b)正在運(yùn)行的線程因?yàn)槠渌蚨枞?/p>

  wait()是線程交互時(shí),如果線程對一個(gè)同步對象x 發(fā)出一個(gè)wait()調(diào)用,該線程會(huì)暫停執(zhí)行,被調(diào)對象進(jìn)入等待狀態(tài),直到被喚醒或等待時(shí)間到。

  sleep是線程類(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時(shí)間,給執(zhí)行機(jī)會(huì)給其他線程,但是監(jiān)控狀態(tài)依然保持,到時(shí)后會(huì)自動(dòng)恢復(fù)。調(diào)用sleep不會(huì)釋放對象鎖。

  wait是Object類的方法,對此對象調(diào)用wait方法導(dǎo)致本線程放棄對象鎖,進(jìn)入等待此對象的等待鎖定池,只有針對此對象發(fā)出notify方法(或notifyAll)后本線程才進(jìn)入對象鎖定池準(zhǔn)備獲得對象鎖進(jìn)入運(yùn)行狀態(tài)。

  第十三,Java有沒有g(shù)oto?

  Goto?java中的保留字,現(xiàn)在沒有在java中使用。

  第十四,數(shù)組有沒有l(wèi)ength()這個(gè)方法? String有沒有l(wèi)ength()這個(gè)方法?

  數(shù)組沒有l(wèi)ength()這個(gè)方法,有l(wèi)ength的屬性。

  String有有l(wèi)ength()這個(gè)方法。

  第二十一,abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized?

  都不能

JAVA面試題全集

JAVA語言如何進(jìn)行異常處理?下面就由學(xué)習(xí)啦小編為大家介紹一下JAVA面試題全集的文章,歡迎閱讀。 JAVA面試題全集篇1 一、Java基礎(chǔ)知識 1.Java有那些基本數(shù)據(jù)類型,String是不是基本數(shù)據(jù)類型,他們有何區(qū)別。 2.字符串的操作: 寫一個(gè)方法
推薦度:
點(diǎn)擊下載文檔文檔為doc格式
3153294