日韩欧美另类久久久精品_亚洲大色堂人在线无码_国产三级aⅴ在线播放_在线无码aⅴ精品动漫_国产精品精品国产专区

我要投稿 投訴建議

java開發(fā)面試題型與技巧

時(shí)間:2022-07-18 21:05:17 面試試題 我要投稿
  • 相關(guān)推薦

java開發(fā)面試題型與技巧

  篇一:Java軟件開發(fā)工程師面試題寶典

java開發(fā)面試題型與技巧

  1、了解j2EE規(guī)范,選擇幾點(diǎn)進(jìn)行重點(diǎn)消化。

  2、異常分類,一般性異常和運(yùn)行期異常,異常捕獲。

  3、了解spring mvc框架,和struts mvc框架的區(qū)別。

  4、要對spring和ibatis非常熟悉,必須,熟知。

  5、應(yīng)適當(dāng)關(guān)注需求分析和產(chǎn)品方面的知識。

  6、了解多線程相關(guān)知識

  7、了解java5以及java6新特性

  8、熟悉linux相關(guān)命令操作。

  9、工廠模式,簡單工廠、抽象工廠的區(qū)別

  10、動態(tài)代理模式


  一、String,StringBuffer, StringBuilder 的區(qū)別是什么?String為什么是不可變的?

  二、VECTOR,ARRAYLIST, LINKEDLIST的區(qū)別是什么?

  三、HASHTABLE, HASGMAQ,TreeMap區(qū)別

  四、ConcurrentMap和HashMap的區(qū)別

  五、Tomcat,apache,jboss的區(qū)別

  六、GET POST區(qū)別

  七、SESSION, COOKIE區(qū)別

  八、Servlet的生命周期

  九、HTTP 報(bào)文包含內(nèi)容

  十、Statement與PreparedStatement的區(qū)別,什么是SQL注入,如何防止SQL注入 十一、redirect, foward區(qū)別

  十二、關(guān)于JAVA內(nèi)存模型,一個(gè)對象(兩個(gè)屬性,四個(gè)方法)實(shí)例化100次,現(xiàn)在內(nèi)存中的存儲狀態(tài),

  幾個(gè)對象,幾個(gè)屬性,幾個(gè)方法。

  十三、談?wù)凥ibernate的理解,一級和二級緩存的作用,在項(xiàng)目中Hibernate都是怎么使用緩存的

  十四、反射講一講,主要是概念,都在哪需要反射機(jī)制,反射的性能,如何優(yōu)化 十五、談?wù)凥ibernate與Ibatis的區(qū)別,哪個(gè)性能會更高一些

  十六、對Spring的理解,項(xiàng)目中都用什么?怎么用的?對IOC、和AOP的理解及實(shí)現(xiàn)原理

  十七、線程同步,并發(fā)操作怎么控制

  十八、描述struts的工作流程。

  十九、Tomcat的session處理,如果讓你實(shí)現(xiàn)一個(gè)tomcatserver,如何實(shí)現(xiàn)session機(jī)制

  二十、關(guān)于Cache(Ehcache,Memcached)

  二一、sql的優(yōu)化相關(guān)問題

  二二、oracle中 rownum與rowid的理解,一千條記錄我查200到300的記錄怎么查? 二三、如何分析ORACLE的執(zhí)行計(jì)劃?

  二四、 DB中索引原理,種類,使用索引的好處和問題是什么?

  二五、JVM垃圾回收實(shí)現(xiàn)原理。垃圾回收的線程優(yōu)先級。

  二六、jvm 最大內(nèi)存設(shè)置。設(shè)置的原理。結(jié)合垃圾回收講講。

  Java面試寶典

  一. Java基礎(chǔ)部分..................................................................................................................... 8

  1、一個(gè)".java"源文件中是否可以包括多個(gè)類(不是內(nèi)部類)?有什么限制? ...... 9

  2、Java有沒有g(shù)oto? ....................................................................................................... 9

  3、說說&和&&的區(qū)別。 ............................................................................................... 9

  4、在JAVA中如何跳出當(dāng)前的多重嵌套循環(huán)? .......................................................... 9

  5、switch語句能否作用在byte上,能否作用在long上,能否作用在String上? 10

  6、short s1 = 1; s1 = s1 + 1;有什么錯(cuò)? short s1 = 1; s1 += 1;有什么錯(cuò)? ..................... 10

  7、char型變量中能不能存貯一個(gè)中文漢字?為什么? ................................................ 10

  8、用最有效率的方法算出2乘以8等於幾? ............................................................. 10

  9、請?jiān)O(shè)計(jì)一個(gè)一百億的計(jì)算器 ................................................................................... 11

  10、使用final關(guān)鍵字修飾一個(gè)變量時(shí),是引用不能變,還是引用的對象不能變?

  ......................................................................................................................................... 12

  11、"=="和equals方法究竟有什么區(qū)別? ................................................................. 12

  12、靜態(tài)變量和實(shí)例變量的區(qū)別? ............................................................................. 13

  13、是否可以從一個(gè)static方法內(nèi)部發(fā)出對非static方法的調(diào)用? ........................ 14

  14、Integer與int的區(qū)別 .............................................................................................. 14

  15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? ................................... 14

  16、下面的代碼有什么不妥之處? ............................................................................... 14

  17、請說出作用域public,private,protected,以及不寫時(shí)的區(qū)別 ........................ 15

  18、Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?

  ......................................................................................................................................... 15

  19、構(gòu)造器Constructor是否可被override? ................................................................ 16

  20、接口是否可繼承接口? 抽象類是否可實(shí)現(xiàn)(implements)接口? 抽象類是否可繼

  承具體類(concrete class)? 抽象類中是否可以有靜態(tài)的main方法? ...................... 16

  21、寫clone()方法時(shí),通常都有一行代碼,是什么? ............................................. 16

  22、面向?qū)ο蟮奶卣饔心男┓矫?................................................................................. 16

  23、java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么? ......................................................................... 18

  24、abstract class和interface有什么區(qū)別? ................................................................. 18

  25、abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是

  synchronized? .................................................................................................................. 20

  26、什么是內(nèi)部類?Static Nested Class 和 Inner Class的不同。 ........................... 20

  27、內(nèi)部類可以引用它的包含類的成員嗎?有沒有什么限制? ............................. 22

  28、Anonymous Inner Class (匿名內(nèi)部類) 是否可以extends(繼承)其它類,是否可

  以implements(實(shí)現(xiàn))interface(接口)? ............................................................................ 22

  29、super.getClass()方法調(diào)用 .......................................................................... 23

  30、String是最基本的數(shù)據(jù)類型嗎? ............................................................................ 23

  31、String s = "Hello";s = s + " world!";這兩行代碼執(zhí)行后,原始的String對象中的

  內(nèi)容到底變了沒有? ..................................................................................................... 23

  32、是否可以繼承String類? ....................................................................................... 24

  33、String s = new String("xyz");創(chuàng)建了幾個(gè)String Object? 二者之間有什么區(qū)別?

  ......................................................................................................................................... 24

  34、String 和StringBuffer的區(qū)別 ............................................................................... 25

  35、如何把一段逗號分割的字符串轉(zhuǎn)換成一個(gè)數(shù)組? ............................................... 25

  36、數(shù)組有沒有l(wèi)ength()這個(gè)方法? String有沒有l(wèi)ength()這個(gè)方法? .................... 26

  37、下面這條語句一共創(chuàng)建了多少個(gè)對象:String s="a"+"b"+"c"+"d"; .................. 26

  38、try {}里有一個(gè)return語句,那么緊跟在這個(gè)try后的finally {}里的code會不

  會被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后? .................................................... 26

  39、下面的程序代碼輸出的結(jié)果是多少? ................................................................. 27

  40、final, finally, finalize的區(qū)別。 .............................................................................. 29

  41、運(yùn)行時(shí)異常與一般異常有何異同? ..................................................................... 29

  42、error和exception有什么區(qū)別? ............................................................................. 29

  43、Java中的異常處理機(jī)制的簡單原理和應(yīng)用。 ..................................................... 29

  44、請寫出你最常見到的5個(gè)runtime exception。 ................................................... 30

  45、JAVA語言如何進(jìn)行異常處理,關(guān)鍵字:throws,throw,try,catch,finally分別代表

  什么意義?在try塊中可以拋出異常嗎? .................................................................. 30

  46、java中有幾種方法可以實(shí)現(xiàn)一個(gè)線程?用什么關(guān)鍵字修飾同步方法? stop()和

  suspend()方法為何不推薦使用? ................................................................................. 30

  47、sleep() 和 wait() 有什么區(qū)別? ............................................................................. 31

  48、同步和異步有何異同,在什么情況下分別使用他們?舉例說明。 ................. 34

  49. 下面兩個(gè)方法同步嗎?(自己發(fā)明) .................................................................. 34

  50、多線程有幾種實(shí)現(xiàn)方法?同步有幾種實(shí)現(xiàn)方法? ................................................. 34

  51、啟動一個(gè)線程是用run()還是start()? . .................................................................. 35

  52、當(dāng)一個(gè)線程進(jìn)入一個(gè)對象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此

  對象的其它方法? ........................................................................................................... 35

  53、線程的基本概念、線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系 ................................. 35

  54、簡述synchronized和java.util.concurrent.locks.Lock的異同 ? ........................ 36

  55、設(shè)計(jì)4個(gè)線程,其中兩個(gè)線程每次對j增加1,另外兩個(gè)線程對j每次減少1。

  寫出程序。 ..................................................................................................................... 38

  56、子線程循環(huán)10次,接著主線程循環(huán)100,接著又回到子線程循環(huán)10次,接著

  再回到主線程又循環(huán)100,如此循環(huán)50次,請寫出程序。 .................................... 40

  57、介紹Collection框架的結(jié)構(gòu) .................................................................................. 45

  58、Collection框架中實(shí)現(xiàn)比較要實(shí)現(xiàn)什么接口 ....................................................... 45

  59、ArrayList和Vector的區(qū)別 .................................................................................... 45

  60、HashMap和Hashtable的區(qū)別 .............................................................................. 46

  61、List 和 Map 區(qū)別? ............................................................................................... 46

  62、List, Set, Map是否繼承自Collection接口? ......................................................... 47

  63、List、Map、Set三個(gè)接口,存取元素時(shí),各有什么特點(diǎn)? ............................. 47

  64、說出ArrayList,Vector, LinkedList的存儲性能和特性 ......................................... 48

  65、去掉一個(gè)Vector集合中重復(fù)的元素 .................................................................... 48

  66、Collection 和 Collections的區(qū)別。 ..................................................................... 48

  67、Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用==還是

  equals()? 它們有何區(qū)別? .............................................................................................. 48

  68、你所知道的集合類都有哪些?主要方法? ......................................................... 49

  69、兩個(gè)對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不

  對? ................................................................................................................................... 49

  70、TreeSet里面放對象,如果同時(shí)放入了父類和子類的實(shí)例對象,那比較時(shí)使用的是父類的compareTo方法,還是使用的子類的compareTo方法,還是拋異常!

  ......................................................................................................................................... 50

  71、說出一些常用的類,包,接口,請各舉5個(gè) ..................................................... 51

  72、java中有幾種類型的流?JDK為每種類型的流提供了一些抽象類以供繼承,請

  說出他們分別是哪些類? ............................................................................................. 51

  73、字節(jié)流與字符流的區(qū)別 ......................................................................................... 51

  74、什么是java序列化,如何實(shí)現(xiàn)java序列化?或者請解釋Serializable接口的作

  用。 ................................................................................................................................. 53

  75、描述一下JVM加載class文件的原理機(jī)制? ....................................................... 53

  76、heap和stack有什么區(qū)別。 .................................................................................. 53

  77、GC是什么? 為什么要有GC? .............................................................................. 54

  78、垃圾回收的優(yōu)點(diǎn)和原理。并考慮2種回收機(jī)制。 ............................................. 54

  79、垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收內(nèi)存嗎?有什么辦法

  主動通知虛擬機(jī)進(jìn)行垃圾回收? ................................................................................. 54

  80、什么時(shí)候用assert。 ............................................................................................... 54

  81、java中會存在內(nèi)存泄漏嗎,請簡單描述。 ......................................................... 55

  82、能不能自己寫個(gè)類,也叫java.lang.String? ....................................................... 58

  83. Java代碼查錯(cuò)................................................................................................................... 59

  二. 算法與編程 ...................................................................................................................... 63

  1、編寫一個(gè)程序,將a.txt文件中的單詞與b.txt文件中的單詞交替合并到c.txt文件中,a.txt文件中的單詞用回車符分隔,b.txt文件中用回車或空格進(jìn)行分隔。 . 63

  2、編寫一個(gè)程序,將d:java目錄下的所有.java文件復(fù)制到d:jad目錄下,并將原

  來文件的擴(kuò)展名從.java改為.jad。 .............................................................................. 64

  3、編寫一個(gè)截取字符串的函數(shù),輸入為一個(gè)字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串,但要保證漢字不被截取半個(gè),如“我ABC”,4,應(yīng)該截取“我AB”,輸入“我ABC漢DEF”,6,應(yīng)該輸出“我ABC”,而不是“我ABC+漢的半個(gè)”。

  ......................................................................................................................................... 66

  4、有一個(gè)字符串,其中包含中文字符、英文字符和數(shù)字字符,請統(tǒng)計(jì)和打印出各

  個(gè)字符的個(gè)數(shù)。 ............................................................................................................. 67

  5、說明生活中遇到的二叉樹,用java實(shí)現(xiàn)二叉樹 .................................................. 68

  6、從類似如下的文本文件中讀取出所有的姓名,并打印出重復(fù)的姓名和重復(fù)的次

  數(shù),并按重復(fù)次數(shù)排序: ............................................................................................. 73

  7、寫一個(gè)Singleton出來。 ......................................................................................... 77

  8、遞歸算法題1 ............................................................................................................ 79

  9、遞歸算法題2 ............................................................................................................ 80

  10、排序都有哪幾種方法?請列舉。用JAVA實(shí)現(xiàn)一個(gè)快速排序。 ...................... 81

  11、有數(shù)組a[n],用java代碼將數(shù)組元素順序顛倒 ................................................. 82

  12.金額轉(zhuǎn)換,阿拉伯?dāng)?shù)字的金額轉(zhuǎn)換成中國傳統(tǒng)的形式如:(¥1011)->(一千

  零一拾一元整)輸出。 ................................................................................................. 83

  三. html&JavaScript&ajax部分 ............................................................................................. 84

  1. 判斷第二個(gè)日期比第一個(gè)日期大 ............................................................................ 84

  2. 用table顯示n條記錄,每3行換一次顏色,即1,2,3用紅色字體,4,5,6

  用綠色字體,7,8,9用紅顏色字體。 ...................................................................... 85

  3、HTML 的 form 提交之前如何驗(yàn)證數(shù)值文本框的內(nèi)容全部為數(shù)字? 否則的話提

  示用戶并終止提交? ....................................................................................................... 86

  4、請寫出用于校驗(yàn)HTML文本框中輸入的內(nèi)容全部為數(shù)字的javascript代碼 .... 86

  5、說說你用過那些ajax技術(shù)和框架,說說它們的區(qū)別 .......................................... 87

  四. Java web部分 ................................................................................................................... 87

  1、Tomcat的優(yōu)化經(jīng)驗(yàn) .................................................................................................. 87

  2、HTTP請求的GET與POST方式的區(qū)別 .............................................................. 87

  3、解釋一下什么是servlet; .......................................................................................... 87

  4、說一說Servlet的生命周期? .................................................................................... 87

  5、Servlet的基本架構(gòu) .................................................................................................. 88

  6、SERVLET API中forward() 與redirect()的區(qū)別? ............................................... 88

  7、什么情況下調(diào)用doGet()和doPost()? ................................................................... 88

  8、Request對象的主要方法: ..................................................................................... 88

  9、forward 和redirect的區(qū)別 ...................................................................................... 89

  10、request.getAttribute() 和 request.getParameter() 有何區(qū)別?............................... 89

  11. jsp有哪些內(nèi)置對象?作用分別是什么? 分別有什么方法? ................................ 89

  12. jsp有哪些動作?作用分別是什么? .......................................................................... 90

  13、JSP的常用指令 ...................................................................................................... 90

  14. JSP中動態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)別? ............................................. 91

  15、兩種跳轉(zhuǎn)方式分別是什么?有什么區(qū)別? ............................................................. 91

  16、頁面間對象傳遞的方法 ......................................................................................... 91

  17、JSP和Servlet有哪些相同點(diǎn)和不同點(diǎn),他們之間的聯(lián)系是什么? ................. 91

  18、MVC的各個(gè)部分都有那些技術(shù)來實(shí)現(xiàn)?如何實(shí)現(xiàn)? ........................................... 91

  19、我們在web應(yīng)用開發(fā)過程中經(jīng)常遇到輸出某種編碼的字符,如iso8859-1等,

  如何輸出一個(gè)某種編碼的字符串? ............................................................................. 92

  20.現(xiàn)在輸入n個(gè)數(shù)字,以逗號,分開;然后可選擇升或者降序排序;按提交鍵就

  在另一頁面顯示按什么排序,結(jié)果為,提供reset .................................................... 92

  五. 數(shù)據(jù)庫部分 ...................................................................................................................... 92

  1、用兩種方式根據(jù)部門號從高到低,工資從低到高列出每個(gè)員工的信息。 ....... 92

  2、列出各個(gè)部門中工資高于本部門的平均工資的員工數(shù)和部門號,并按部門號排

  序..................................................................................................................................... 93

  3、存儲過程與觸發(fā)器必須講,經(jīng)常被面試到? ......................................................... 93

  4、數(shù)據(jù)庫三范式是什么? ............................................................................................. 95

  5、說出一些數(shù)據(jù)庫優(yōu)化方面的經(jīng)驗(yàn)? ......................................................................... 96

  6、union和union all有什么不同? ............................................................................... 97

  7.分頁語句 ...................................................................................................................... 98

  8.用一條SQL語句 查詢出每門課都大于80分的學(xué)生姓名................................... 101

  9.所有部門之間的比賽組合 ........................................................................................ 102

  10.每個(gè)月份的發(fā)生額都比101科目多的科目 .......................................................... 102

  11.統(tǒng)計(jì)每年每月的信息 .............................................................................................. 104

  12.顯示文章標(biāo)題,發(fā)帖人、最后回復(fù)時(shí)間 .............................................................. 105

  篇二:Java面試題—WEB開發(fā)必看

  以前的收藏,估計(jì)很少有這么全的面試題集了^_^

  基礎(chǔ)知識:

  1. C++或Java中的異常處理機(jī)制的簡單原理和應(yīng)用。 當(dāng)JAVA程序違反了JAVA的語義規(guī)則時(shí),JAVA虛擬機(jī)就會將發(fā)生的錯(cuò)誤表示為一個(gè)異常。違反語義規(guī)則包括2種情況。一種是JAVA類庫內(nèi)置的語義檢查。例如數(shù)組下標(biāo)越界,會引發(fā)IndexOutOfBoundsException;訪問null的對象時(shí)會引發(fā)NullPointerException。另一種情況就是JAVA允許程序員擴(kuò)展這種語義檢查,程序員可以創(chuàng)建自己的異常,并自由選擇在何時(shí)用throw關(guān)鍵字引發(fā)異常。所有的異常都是java.lang.Thowable的子類。

  2.Java的接口和C++的虛類的相同和不同處。

  由于Java不支持多繼承,而有可能某個(gè)類或?qū)ο笠褂梅謩e在幾個(gè)類或?qū)ο罄锩娴姆椒ɑ驅(qū)傩,現(xiàn)有的單繼承機(jī)制就不能滿足要求。與繼承相比,接口有更高的靈活性,因?yàn)榻涌谥袥]有任何實(shí)現(xiàn)代碼。當(dāng)一個(gè)類實(shí)現(xiàn)了接口以后,該類要實(shí)現(xiàn)接口里面所有的方法和屬性,并且接口里面的屬性在默認(rèn)狀態(tài)下面都是publicstatic,所有方法默認(rèn)情況下是public.一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。

  3.垃圾回收的優(yōu)點(diǎn)和原理。并考慮2種回收機(jī)制。

  Java語言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使c++程序員最頭疼的內(nèi)存管理的問題迎刃而解,它使得Java程序員在編寫程序的時(shí)候不再需要考慮內(nèi)存管理。由于有個(gè)垃圾回收機(jī)制,Java中的對象不再有“作用域”的概念,只有對象的引用才有“作用域”。垃圾回收可以有效的防止內(nèi)存泄露,有效的使用可以使用的內(nèi)存。垃圾回收器通常是作為一個(gè)單獨(dú)的低級別的線程運(yùn)行,不可預(yù)知的情況下對內(nèi)存堆中已經(jīng)死亡的或者長時(shí)間沒有使用的對象進(jìn)行清楚和回收,程序員不能實(shí)時(shí)的調(diào)用垃圾回收器對某個(gè)對象或所有對象進(jìn)行垃圾回收。回收機(jī)制有分代復(fù)制垃圾回收和標(biāo)記垃圾回收,增量垃圾回收。

  4.請說出你所知道的線程同步的方法。

  wait():使一個(gè)線程處于等待狀態(tài),并且釋放所持有的對象的lock。

  sleep():使一個(gè)正在運(yùn)行的線程處于睡眠狀態(tài),是一個(gè)靜態(tài)方法,調(diào)用此方法要捕捉InterruptedException異常。

  notify():喚醒一個(gè)處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時(shí)候,并不能確切的喚醒某一個(gè)等待狀態(tài)的線程,而是由JVM確定喚醒哪個(gè)線程,而且不是按優(yōu)先級。

  Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個(gè)對象的鎖,而是讓它們競爭。

  5.請講一講析構(gòu)函數(shù)和虛函數(shù)的用法和作用。

  6.Error與Exception有什么區(qū)別?

  Error表示系統(tǒng)級的錯(cuò)誤和程序不必處理的異常,

  Exception表示需要捕捉或者需要程序進(jìn)行處理的異常。

  7.在java中一個(gè)類被聲明為final類型,表示了什么意思?

  表示該類不能被繼承,是頂級類。

  8.描述一下你最常用的編程風(fēng)格。

  9.heap和stack有什么區(qū)別。

  棧是一種線形集合,其添加和刪除元素的操作應(yīng)在同一段完成。棧按照后進(jìn)先出的方式進(jìn)行處理。

  堆是棧的一個(gè)組成元素

  10.如果系統(tǒng)要使用超大整數(shù)(超過long長度范圍),請你設(shè)計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu)來存儲這種超大型數(shù)字以及設(shè)計(jì)一種算法來實(shí)現(xiàn)超大整數(shù)加法運(yùn)算)。

  publicclassBigInt()

  {

  int[]ArrOne=newArrOne[1000];

  StringintString="";

  publicint[]Arr(Strings)

  {

  intString=s;

  for(inti=0;i<ArrOne.leght;i++)

  {

  11.如果要設(shè)計(jì)一個(gè)圖形系統(tǒng),請你設(shè)計(jì)基本的圖形元件(Point,Line,Rectangle,Triangle)的簡單實(shí)現(xiàn)

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

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

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

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

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

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

  14,StaticNestedClass和InnerClass的不同,說得越多越好(面試題有的很籠統(tǒng))。

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

  http://www.frontfree.net/articles/services/view.asp?id=704&page=1

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

  第四,&和&&的區(qū)別。

  &是位運(yùn)算符。&&是布爾邏輯運(yùn)算符。

  15,HashMap和Hashtable的區(qū)別。

  都屬于Map接口的類,實(shí)現(xiàn)了將惟一鍵映射到特定的值上。

  HashMap類沒有分類或者排序。它允許一個(gè)null鍵和多個(gè)null值。

  Hashtable類似于HashMap,但是不允許null鍵和null值。它也比HashMap慢,因?yàn)樗峭降摹?/p>

  16,Collection和Collections的區(qū)別。

  篇三:JAVA網(wǎng)站開發(fā)工程師面試題

  JAVA_WEB開發(fā)人員面試題及答案

  面試人: 面試時(shí)間:

  一.選擇題(每題1分,共20分)

  1. jsp 有幾個(gè)內(nèi)置對象?( c )(單選)

  A 5個(gè) B 6個(gè) C 9個(gè) D 8個(gè)

  2. 在JAVA中,如何跳出當(dāng)前的多重嵌套循環(huán)?( ab) (多選)

  A break B return C forward D finally

  3. 四種會話跟蹤技術(shù),哪個(gè)范圍最大?(d ) (單選)

  A page B request C session D application

  4. java中有幾種方法可以實(shí)現(xiàn)一個(gè)線程?(b ) (單選)

  A 1種 B 2種 C 3種 D 4種

  5. 同步有幾種實(shí)現(xiàn)方法 ( b) (單選)

  A 4種 B 2種 C 3種 D 1種

  6. xml有哪些解析技術(shù)? ( abcd ) (多選)

  A DOM B SAX C STAX D JDOM

  7. 下列說法正確的是( bd)(多選)

  A 構(gòu)造器Constructor可被繼承

  B String類不可以繼承

  C 判斷兩個(gè)對象值相同用“==”

  D char型變量中能不能存貯一個(gè)中文漢字

  8. 下列關(guān)于線程說法正確的是(abc )(多選)

  A 調(diào)用sleep不會釋放對象鎖。

  B 調(diào)用wait方法導(dǎo)致本線程放棄對象鎖

  C 當(dāng)一個(gè)線程進(jìn)入一個(gè)對象的一個(gè)synchronized方法后,其它線程不可進(jìn)入此對象的其它 方法

  D notify():喚醒全部處于等待狀態(tài)的線程。

  9. 給定JSP程序源碼如下,該JSP運(yùn)行后輸出的結(jié)果是(b )。(單選)

  <%int count="1;%">

  Count:<%=>

  A Count:1 B Count:2 C 1:2 D Count:

  10.在J2EE中的一個(gè)JSP文件中,有表達(dá)式<%=2>,它將輸出( b )(單選)

  a)2 3 b)5 c)23 d)不會輸出,因?yàn)楸磉_(dá)式是錯(cuò)誤的

  11.在J2EE中,編寫Servlet過濾器時(shí),(c )接口用于調(diào)用過濾器鏈中的下一個(gè)過濾器。(單選)

  a)Filter b)FilterConfig c)FilterChain d)Servlet

  12) 關(guān)于視圖的描述正確的是( c ) (單選)

  a) 視圖是一種特殊的表,它存儲了用戶定制的數(shù)據(jù)。

  b) 視圖僅用于用戶進(jìn)行查詢,不可以通過視圖對數(shù)據(jù)進(jìn)行修改。

  c) 在sql server中可以通過用T-sql語句來創(chuàng)建,也可以通過企業(yè)管理器。

  d) 創(chuàng)建視圖只能操作本機(jī)器上的數(shù)據(jù)庫表。

  13)STRUTS框架中,( c)類在視圖層和控制層之間傳遞HTML表單數(shù)據(jù)。(單選) a) Action b) ActionForward c) ActionForm d) ActionServlet

  18)Struts控制器的主要任務(wù)是接受用戶請求、根據(jù)用戶請求調(diào)用對應(yīng)的模型組件、獲取業(yè)務(wù)邏輯執(zhí)行結(jié)果的根據(jù)處理結(jié)果選擇適合的視圖組件返回給用戶,實(shí)現(xiàn)Struts控制器的類中不包括(c )。(單選)

  a) ActionServlet b) Action c) ActionForm d) ActionForward

  14) 以下關(guān)于SessionFactory的說法哪些正確?( bc )(多選)

  A) 對于每個(gè)數(shù)據(jù)庫事務(wù),應(yīng)該創(chuàng)建一個(gè)SessionFactory對象

  B) 一個(gè)SessionFactory對象對應(yīng)一個(gè)數(shù)據(jù)庫存儲源。

  C) SessionFactory是重量級的對象,不應(yīng)該隨意創(chuàng)建。如果系統(tǒng)中只有一個(gè)數(shù)據(jù)庫存儲源只需要?jiǎng)?chuàng)建一個(gè)。

  D) SessionFactory的load()方法用于加載持久化對象

  15) 下面那些是Hibernate的查詢方式(abc )(多選)

  A) sql B) hql C) Criteria

  18) 以下數(shù)據(jù)結(jié)構(gòu)不屬于線性結(jié)構(gòu)的是( c )(單選)

  A) 隊(duì)列 B) 線性表 C) 二叉樹 D) 棧

  16) 下列是文件讀寫的類是( ac )(多選)

  A) File Reader B) File C) FileWriter D) InputStream

  17) 數(shù)據(jù)庫技術(shù)中的“臟數(shù)據(jù)',是指(c )的數(shù)據(jù)。(單選)

  A) 錯(cuò)誤 B 回返 C 未提交 D 未提交的隨后又被撤消

  18)在計(jì)算機(jī)中,—個(gè)字節(jié)是由多少個(gè)二進(jìn)制位組成的( b) (單選)

  A). 4 B). 8 C). 16 D). 24

  19. 下列不屬于面向?qū)ο蟮姆椒ㄊ牵?d )(單選)

  A). 對象 B). 類 C). 繼承 D).過程調(diào)用

  29.設(shè)正x、y均為整型變量,且x=10 y=3,則以下語句printf("%d,%d ",x--,--y); 的輸出結(jié)果是( d )(單選)

  A).10,3 B). 9,3 C). 9,2 D).10,2

  二. 填空(每空1分,共10分)

  1. String s = new String("xyz");創(chuàng)建了__2__個(gè)String 對象?

  2. Math.round(9.5)等於__10___ Math.round(-9.5)等於__-9____

  3. try {}里有一個(gè)return語句,那么緊跟在這個(gè)try后的finally {}里的code會被執(zhí)行,什么時(shí)候被執(zhí)行,在return____前_____ ( 前還是后?)

  4. 如何現(xiàn)實(shí)servlet的單線程模式 ______<%@ page="" isthreadsafe="false"> _________

  5. 類變量必須帶的修飾符是 ______ static _________

  6. final類可以修飾在屬性 , 方法 和 ___類___ 前面

  7. Java默認(rèn)的包是______ java.lang.*_________

  8. Hibernate里面怎樣實(shí)現(xiàn)類與類之間的關(guān)系__________表映射_______________

  9. Socket 編程服務(wù)器端用____ serverSocket ____類來創(chuàng)建socket對象。

  三. 判斷題(每題2分,共10分)

  1. 依賴注入即是“面向接口”的編程。錯(cuò)

  2. Overload和Override都是java多態(tài)的不同體現(xiàn)形式。對

  3. String是最基本的數(shù)據(jù)類型。 錯(cuò)

  4.啟動一個(gè)線程是用start。 對

  5. 接口可以繼承接口。 對

  四.簡答題(每題5分,共30分)

  1、網(wǎng)頁設(shè)計(jì)采用div css有什么好處?

  答:布局實(shí)現(xiàn)了表現(xiàn)與內(nèi)容的分離,大大縮減頁面代碼,符合W3C的標(biāo)準(zhǔn),兼容性更好;易于后期網(wǎng)站的更新、維護(hù);SEO的優(yōu)化:對搜索引擎更加友好,更容易被搜索引擎收錄。

  2、前端頁面有哪三層構(gòu)成,分別是什么?作用是什么?

  答:網(wǎng)頁分成三個(gè)層次,即:結(jié)構(gòu)層、表示層、行為層。

  網(wǎng)頁的結(jié)構(gòu)層(structural layer)由HTML或 XHTML之類的標(biāo)記語言負(fù)責(zé)創(chuàng)建。標(biāo)簽,也就是那些出現(xiàn)在尖括號里的單詞,對網(wǎng)頁內(nèi)容的語義含義做出了描述,但這些標(biāo)簽不包含任何關(guān)于如何顯示有關(guān)內(nèi)容的信息。例如,P 標(biāo)簽表達(dá)了這樣一種語義:“這是一個(gè)文本段!

  網(wǎng)頁的表示層(presentation layer)由CSS負(fù)責(zé)創(chuàng)建。CSS 對“如何顯示有關(guān)內(nèi)容”的問題做出了回答。

  網(wǎng)頁的行為層(behavior layer)負(fù)責(zé)回答“內(nèi)容應(yīng)該如何對事件做出反應(yīng)”這一問題。這是 Javascript 語言和 DOM 主宰的領(lǐng)域。

  3、如何區(qū)別display:none與visibility:hidden?

  答:相同的是display:none與visibility:hidden都可以用來隱藏某個(gè)元素;

  不同的是display:none在隱藏元素的時(shí)候,將其占位空間也去掉;而visibility:hidden只是隱藏了內(nèi)容而已,其占位空間仍然保留。

  4. 購物網(wǎng)站的主色調(diào)應(yīng)該是什么樣色?交友網(wǎng)站?體育網(wǎng)站?軟件網(wǎng)站?年輕的互聯(lián)網(wǎng)? 答:購物:暖色;交友:粉紅之類的;體育:酷一點(diǎn);軟件公司:無所謂;年輕互聯(lián)網(wǎng):有朝氣的顏色,比如綠色。

  5. 一個(gè)網(wǎng)站最多有幾種色彩

  答:一到兩各種主色彩。

  6.如果背景是黑色,那么字體用什么顏色能突出字體,且不顯得刺眼?

  答:紅色。

  五.編程操作題(每題6分,30分)

  注:有上機(jī)機(jī)會上機(jī)操作,沒有就手動把代碼寫出來;

  1. 一個(gè)表td中的部分Id有多個(gè)記錄,把所有有多個(gè)記錄的id查出來,并顯示共有多少條 記錄數(shù)。

  2.寫出冒泡排序的實(shí)現(xiàn)

  答:代碼如下:

  public void fun9(){

  int[] a = {1,3,5,61,2,123,12,}

  Conica.print(a);

  for(int i=0 ; i<a.length-1 ; i ){

  for(int j=0 ; j<a.length-i-1 ; j )

  {

  if(a[j]>a[j 1]){

  int temp = a[j];

  a[j] = a[j 1];

  a[j 1] = temp;

  }

  }

  }

  }

  3 編程:編寫一個(gè)截取字符串的函數(shù),輸入為一個(gè)字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。 但是要保證漢字不被截半個(gè),如“我ABC”4,應(yīng)該截為“我AB”,輸入“我ABC漢DEF”,應(yīng)該輸出為“我ABC”而不是“我ABC 漢的半個(gè)”。

  答:代碼如下:

  package test;

  class SplitString {

  String SplitStr;

  int SplitByte;

  public SplitString(String str,intbytes) {

  SplitStr=str;

  SplitByte=bytes;

  System.out.println("TheString is:′" SplitStr "′;SplitBytes=" SplitByte);

  }

  public void SplitIt() {

  int loopCount;

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

  1);

  System.out.println("WillSplit 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)));

  }

  }

  }

  public static void main(String[]args) {

  SplitString ss = newSplitString("test中dd文dsaf中男大3443n中國43中國人

  0ewldfls=103",4);

  ss.SplitIt();

  }

  }

  注:另外關(guān)于美工操作,如果有photoshop等軟件可以任選擇兩題考下:

  1. 手寫 html 能力

  描述一個(gè)不規(guī)則表格,一定要有跨列和跨行的,讓他把 html 代碼寫出來;

  2.讓他用 Photoshop 或 Fireworks 設(shè)計(jì)一個(gè)頁面布局,或者指定一個(gè)效果(比如半透明的按鈕),讓他畫出來,在或者,提供一幅人物照片,要求他摳掉背景,這是平面軟件能力的一種體現(xiàn)方式;

  3. 如果要涉及 Flash,讓他做一個(gè)兩種形狀(方形、圓圈)的漸變,要求過渡平滑、美觀,新手都直接用 shapemotion,很難看,高手知道加過渡。

  篇四:JAVA開發(fā)工程師面試題

  一、 概念題

  1、 解釋什么是隊(duì)列(queue),什么棧(stack),有何區(qū)別?

  隊(duì)列是一種特殊的線性表,他按照先進(jìn)先出的原則存儲數(shù)據(jù)。

  棧是一種數(shù)據(jù)結(jié)構(gòu),它按照后進(jìn)先出的原則存儲數(shù)據(jù),先進(jìn)入的數(shù)據(jù)被壓入棧底,最后的數(shù)據(jù)在棧頂,需要讀數(shù)據(jù)的時(shí)候從棧頂開始彈出數(shù)據(jù)。 2、 用C/C++或者Php,或Java,給出例子,解釋什么是異常(exception)?

  3、 簡述HashMap、HashSet、HashTable的區(qū)別。 Hashtable類

  Hashtable繼承Map接口,實(shí)現(xiàn)一個(gè)key-value映射的哈希表。任何非空(non-null)的對象都可作為key或者value。 HashMap類

  HashMap和Hashtable類似,不同之處在于HashMap是非同步的,并且允許null,即null value和null key,null key只能有一個(gè)。 HashSet類

  HashSet繼承Set接口。

  Set是一種不包含重復(fù)的元素的Collection。 4、public、protect和private的區(qū)別是什么?

  二、 數(shù)據(jù)庫相關(guān)題

  試設(shè)計(jì)一個(gè)商品相關(guān)數(shù)據(jù)庫,要求包括商品類別、商品的基本信息,并完成下面的三個(gè)查詢。

  1、請寫出創(chuàng)建相關(guān)表的SQL語句。

  2. 使用標(biāo)準(zhǔn)SQL,得到2008年1月份入庫的所有商品信息。 3. 使用標(biāo)準(zhǔn)SQL,得到“Toy”分類下的所有商品信息。

  4. 使用標(biāo)準(zhǔn)SQL,統(tǒng)計(jì)出所有包含商品價(jià)格低于100.00的分類。

  三、 程序填空題。

  閱讀下列說明、圖以及Java程序,將應(yīng)填入__(n)__處的字句寫在答題紙的對應(yīng)欄內(nèi)。 1、[說明]

  某訂單管理系統(tǒng)的部分UML類圖如圖1-1所示

  圖4-1 訂單管理系統(tǒng)的部分類圖

  圖1-1中,Product表示產(chǎn) 品,ProductList表示所銷售產(chǎn)品的列表,Order表示產(chǎn)品訂單,0rderltem表示產(chǎn)品訂單中的一個(gè)條目,OrderList表示訂單列 表,SalesSystem提供訂單管理系統(tǒng)的操作接口。各個(gè)類的部分屬性和方法說明如表1-1所示。 表1-1

  可以使用類java.util。ArrayList來實(shí)現(xiàn)對象的聚集關(guān)系,如圖4-1中OrderList與Order之間的聚集關(guān)系。for-each循環(huán)提供了一種遍歷對象集合的簡單方法。在for-each循環(huán)中,可以指定需要遍歷的對象集合以及用來接收集合中每個(gè)元素的變量,其語法如下: for(用來接收集合中元素的變量:需要遍歷的對象集合),如果要使用for-each循環(huán)來遍歷對象集合,那么包含該對象集合的類必須實(shí)現(xiàn)接口java.util.Iterable。Java程序1-1和Java程序1-2分別給出了類OrderList和方法statistic的Java代碼。 [Java程序1-1] import java.util.*;

  public class OrderList __(1)__ {

  private ArrayListorders; public OrderListO {

  this.orders = new ArrayList(Order) 0; }

  public void addOrder(Order order) { this.orders, add (order); }

  public IteratoriteratorO {

  return __(2)__;

  }

  public int getNunberOfOrders() { return this.orders. size(); }

  }

  [Java程序1-2]

  import java.util.*;

  public class SalesSystem { private ProductList catalog; private OrderList sales;

  private static PrintWriter stdOut = new PrintWriter(System.out,true); public void statistic(){

  for(Product product : __(3)__{ int number = 0;

  for(Order order : __(4)__ {

  for(__(5)__ : order){

  if<product.equals(item.getProduct())) numbe r += item.getQuantity(); } }

  stdOut.println(product.getCode() + " " + product.getDescription() + " "

  + number + " " + number *product.getPrice()); }

  }

  //其余的方法未列出 }

  2、[說明]

  傳輸門是傳輸系統(tǒng)中的重要裝置。傳輸門具有 Open(打開)、Closed(關(guān)閉)、Opening(正在打開)、StayOpen(保持打開)、Closing(正在關(guān)閉)五種狀態(tài)。觸發(fā)狀態(tài)的轉(zhuǎn)換事件有 click、complete 和 timeout 三種。事件與其相應(yīng)的狀態(tài)轉(zhuǎn)換如圖 2-1 所示。

  圖 2-1 傳輸門響應(yīng)事件與其狀態(tài)轉(zhuǎn)換圖

  下面的[Java 代碼 1]與[Java 代碼 2]分別用兩種不同的設(shè)計(jì)思路對傳輸門進(jìn)行狀態(tài)模擬,請?zhí)钛a(bǔ)代碼中的空缺。 [Java 代碼 1]

  public class Door {

  public static final int CLOSED = 1; public static final int OPENING = 2; public static final int OPEN = 3; public static final int CLOSING = 4; public static final int STAYOPEN = 5;

  private int state = CLOSED;//定義狀態(tài)變量,用不同的整數(shù)表示不同狀態(tài) private void setState(int state){this.state = state;} //設(shè)置傳輸門當(dāng)前狀態(tài)

  public void getState(){

  // 此處代碼省略,本方法輸出狀態(tài)字符串,

  // 例如,當(dāng)前狀態(tài)為 CLOSED 時(shí),輸出字符串為”CLOSED” }

  public void click() { //發(fā)生 click 事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換 if ( (1) ) setState(OPENING);

  else if ( (2) ) setState(CLOSING); else if ( (3) ) setState(STAYOPEN); //發(fā)生 timeout 事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換

  public void timeout(){ if (state == OPEN) setState(CLOSING); } public void complete(){ //發(fā)生 complete 事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換 if (state == OPENING) setState(OPEN);

  else if (state == CLOSING) setState(CLOSED); }

  public static void main(String [] args){ Door aDoor = new Door(); aDoor.getState(); aDoor.click(); aDoor.getState(); aDoor.complete(); aDoor.getState(); aDoor.click(); aDoor.getState(); aDoor.click(); aDoor.getState(); return; } }

  [Java 代碼 2]

  public class Door {

  public final DoorState CLOSED = new DoorClosed(this); public final DoorState OPENING = new DoorOpening(this); public final DoorState OPEN = new DoorOpen(this);

  public final DoorState CLOSING = new DoorClosing(this); public final DoorState STAYOPEN = new DoorStayOpen(this); private DoorState state = CLOSED; //設(shè)置傳輸門當(dāng)前狀態(tài)

  public void setState(DoorState state){ this.state = state;} public void getState(){ //根據(jù)當(dāng)前狀態(tài)輸出對應(yīng)的狀態(tài)字符串 System.out.println(state.getClass().getName()); }

  public void click(){ (4) ;} //發(fā)生 click 事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換 public void timeout(){ (5) ;}//發(fā)生 timeout 事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換 public void complete(){ (6) ;}//發(fā)生 complete 事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換 public static void main(String[] args){ Door aDoor = new Door(); aDoor.getState(); aDoor.click(); aDoor.getState(); aDoor.complete(); aDoor.getState(); aDoor.timeout(); aDoor.getState(); return; } }

  篇五:java_web開發(fā)人員面試題及答案

  java 面試題

  一.選擇題(每題1分)

  1. jsp 有幾個(gè)內(nèi)置對象?()(單選)

  A 5個(gè) B 6個(gè)C9個(gè) D 8個(gè) 2.在JAVA中,如何跳出當(dāng)前的多重嵌套循環(huán)?()(多選)

  A break Breturn C forward D finally

  3. 四種會話跟蹤技術(shù),哪個(gè)范圍最大?()(單選)

  A page B request C session Dapplication

  4. java中有幾種方法可以實(shí)現(xiàn)一個(gè)線程?()(單選)

  A 1種B 2種 C 3種 D 4種

  5. 同步有幾種實(shí)現(xiàn)方法()(單選)

  A 4種B 2種 C 3種 D 1種 6. xml有哪些解析技術(shù)?()(多選)

  ADOMBSAXCSTAXD JDOM

  7. 下列說法正確的是()(多選) A 構(gòu)造器Constructor可被繼承

  BString類不可以繼承 C 判斷兩個(gè)對象值相同用“==”

  Dchar型變量中能存貯一個(gè)中文漢字

  8.下面說法錯(cuò)誤的是()(單選)

  A Vector是線程安全的

  Bfloat f=3.4是正確的

  C StringBuffer的長度是可變的

  D StringBuffer的長度是不可變的 9. 下列關(guān)于集合的說法正確的是()(多選)

  AList 的具體實(shí)現(xiàn)包括 ArrayList 和 Vector

  BMap 集合類用于存儲元素對(稱作"鍵"和"值"),其中每個(gè)鍵映射到一個(gè)值

  C Set的元素是有序的

  DHashtable是線程安全的。 10. 下列關(guān)于線程說法正確的是()(多選)

  A調(diào)用sleep不會釋放對象鎖。

  B調(diào)用wait方法導(dǎo)致本線程放棄對象鎖

  C當(dāng)一個(gè)線程進(jìn)入一個(gè)對象的一個(gè)synchronized方法后,其它線程不可進(jìn)入此對象的其它方法

  D notify():喚醒全部處于等待狀態(tài)的線程。

  11. 給定JSP程序源碼如下,該JSP運(yùn)行后輸出的結(jié)果是()。(單選)

  <%int count="1;%">

  Count:<%=++count%>

  A Count:1BCount:2 C1:2 D Count:

  12在J2EE中的一個(gè)JSP文件中,有表達(dá)式<%=2+3%>,它將輸出()(單選)

  a)2+3b)5c)23d)不會輸出,因?yàn)楸磉_(dá)式是錯(cuò)誤的

  13 在J2EE中,JSTL提供條件標(biāo)簽以支持JSP頁面的各種條件,其中()類似于Java語言的switch語句。(單選)

  a)b)c)d)

  14. 在進(jìn)行Java Web開發(fā)時(shí),假定一個(gè)變量保存在session中,要獲得這個(gè)變量的值,可以使用以下()語句。(單選)

  a)application.getAttribute(“name”) b)pageContext.getAttribute(“name”)

  c)session.getAttribute(“name”)

  d)config.getInitParameter(“name”)

  15)在J2EE中,編寫Servlet過濾器時(shí),()接口用于調(diào)用過濾器鏈中的下一個(gè)過濾器。()(單選)

  a)Filterb)FilterConfigc)FilterChaind)Servlet

  16) 關(guān)于視圖的描述正確的是() (單選)

  a) 視圖是一種特殊的表,它存儲了用戶定制的數(shù)據(jù)。

  b) 視圖僅用于用戶進(jìn)行查詢,不可以通過視圖對數(shù)據(jù)進(jìn)行修改。

  c) 在sql server中可以通過用T-sql語句來創(chuàng)建,也可以通過企業(yè)管理器。

  d) 創(chuàng)建視圖只能操作本機(jī)器上的數(shù)據(jù)庫表。

  17)STRUTS框架中,()類在視圖層和控制層之間傳遞HTML表單數(shù)據(jù)。(單選) a) Action b) ActionForwardc) ActionFormd) ActionServlet

  18)Struts控制器的主要任務(wù)是接受用戶請求、根據(jù)用戶請求調(diào)用對應(yīng)的模型組件、獲取業(yè)務(wù)邏輯執(zhí)行結(jié)果的根據(jù)處理結(jié)果選擇適合的視圖組件返回給用戶,實(shí)現(xiàn)Struts控制器的類中不包括()。(單選) a)ActionServletb)Actionc) ActionFormd)ActionForward

  19)在OOD中,類和接口之間的關(guān)系稱之為()。(單選)

  a) 泛化b)實(shí)現(xiàn)c) 關(guān)聯(lián)d) 繼承

  20) 以下關(guān)于SessionFactory的說法哪些正確?()(多選)

  A) 對于每個(gè)數(shù)據(jù)庫事務(wù),應(yīng)該創(chuàng)建一個(gè)SessionFactory對象

  B) 一個(gè)SessionFactory對象對應(yīng)一個(gè)數(shù)據(jù)庫存儲源。

  C) SessionFactory是重量級的對象,不應(yīng)該隨意創(chuàng)建。如果系統(tǒng)中只有一個(gè)數(shù)據(jù)庫存儲源只需要?jiǎng)?chuàng)建一個(gè)。

  D) SessionFactory的load()方法用于加載持久化對象

  21) 關(guān)于AOP錯(cuò)誤的()(單選)

  A)AOP將散落在系統(tǒng)中的“方面”代碼集中實(shí)現(xiàn)

  B)AOP有助于提高系統(tǒng)可維護(hù)性

  C)AOP已經(jīng)表現(xiàn)出將要替代面向?qū)ο蟮内厔?D)AOP是一種設(shè)計(jì)模式,Spring提供了一種實(shí)現(xiàn)

  22) 依賴注入說法正確的(單選)

  A)依賴注入的目標(biāo)是在代碼之外管理程序組建間的依賴關(guān)系

  B)依賴注入即是“面向接口”的編程

  C)依賴注入是面向?qū)ο蠹夹g(shù)的替代品

  D)依賴注入的使用會增大程序的規(guī)模

  23)以下哪些屬于Session的方法?()(多選)

  A)load()

  B)save()

  C)()

  D)update()

  E)open()

  F)close() 24) 下面那些是Hibernate的查詢方式()(多選)

  A) sql B) hql C)Criteria

  25) 以下數(shù)據(jù)結(jié)構(gòu)不屬于線性結(jié)構(gòu)的是()(單選)

  A) 隊(duì)列 B) 線性表C)二叉樹 D) 棧

  26)下列是文件讀寫的類是()(多選)

  A)File Reader B) File C)FileWriter D) InputStream

  27)數(shù)據(jù)庫技術(shù)中的“臟數(shù)據(jù)',是指()的數(shù)據(jù)。(單選)

  A) 錯(cuò)誤B回返C未提交D未提交的隨后又被撤消

  28)在計(jì)算機(jī)中,—個(gè)字節(jié)是由多少個(gè)二進(jìn)制位組成的() (單選)

  A). 4 B). 8 C).16 D). 24

  29)設(shè)正x、y均為整型變量,且x=10 y=3,則以下語句printf("%d,%d ",x--,--y); 的輸出結(jié)果是()(單選) A).10,3 B). 9,3 C). 9,2 D).10,2

  30) 下列不屬于面向?qū)ο蟮姆椒ㄊ牵ǎ▎芜x)

  A).對象 B). 類 C). 繼承 D).過程調(diào)用

  二. 填空(每空1分) 1. String s = new String("xyz");創(chuàng)建了____2_個(gè)String 對象?

  2. Math.round(9.5)等於____10_ Math.round(-9.5)等於______ -9

  3. try {}里有一個(gè)return語句,那么緊跟在這個(gè)try后的finally {}里的code會被執(zhí)行,什么時(shí)候被執(zhí)行,在return_________ ( 前還是后?)

  4. 如何現(xiàn)實(shí)servlet的單線程模式<%@ page="" isthreadsafe="false">

  5. 類變量必須帶的修飾符是 _________static____

  6. final類可以修飾在屬性 , 方法 和 ______類_ 前面

  7. Java默認(rèn)的包是________________java.lang.* ___

  8.Hibernate里面怎樣實(shí)現(xiàn)類與類之間的關(guān)系___________________________表映射_______

  9. Socket 編程服務(wù)器端用___________serverSocket_類來創(chuàng)建socket對象

  三. 判斷題(每題2分)

  1. 依賴注入即是“面向接口”的編程。錯(cuò)

  2. Overload和Override都是java多態(tài)的不同體現(xiàn)形式。對

  3. String是最基本的數(shù)據(jù)類型錯(cuò)

  4. 啟動一個(gè)線程是用start()對

  5. 接口可以繼承接口對

  四.簡答題(每題4分)

  1.下列程序打印結(jié)果是

  int[] arr = {1,3,3,2,8};

  String str = “”;

  int i=0;

  publicvoid doIt(){

  for(;i<arr.length;){

  if(arr[i]>arr[i+1]){

  str=arr[i]+arr[i+1]+str;

  break;

  } elseif(arr[i]<arr[i+1]){

  str=arr[i]+str+arr[i+1];

  i++;

  continue;

  } else{

  str+=arr[i];

  i++;

  }

  }

  System.out.println(i);

  System.out.println(str);

  }

  i=2;str=5133

  2. 將會打印出什么? 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é)果:

  fatherClass Create

  fatherClass Create

  hildClass Create

  3.下列程序?qū)是錯(cuò),如果錯(cuò)請說明原因!

  abstract class Name {

  private String name;

  public abstract boolean isStupidName(String name) {}

  abstract method必須以分號結(jié)尾,且不帶花括號

  4. 表:table1(FId,Fclass,Fscore),用最高效最簡單的SQL列出各班成績最高的列表,顯示班級,成績兩個(gè)字段。

  select fclass,max(fscore) from table1 group by fclass,fid

  5. 下面程序運(yùn)行結(jié)果是

  String[] arr1 ={”a”,”b”,”1″,”c”,”b”};

  List lst1 = new ArrayList();

  lst1.add(”d”);

  Collections.addAll(lst1,arr1);

  System.out.println(lst1);

  Setset1 = new HashSet();

  set1.add(”d”);

  Collections.addAll(set1, arr1);

  System.out.println(set1);

  運(yùn)行結(jié)果:

  d, a, b, 1, c, b

【java開發(fā)面試題型與技巧】相關(guān)文章:

Java面試技巧08-04

Java面試技巧攻略08-04

Java面試通用技巧08-04

Java面試小技巧08-09

2016年Java開發(fā)崗位面試題08-05

java實(shí)習(xí)生面試技巧三篇08-06

面試開發(fā)人員的方法技巧08-21

java面試簡答試題09-25

考研數(shù)學(xué)不同題型的答題技巧02-02

2023高考化學(xué)各類題型答題技巧07-28