亚洲一区亚洲二区亚洲三区,国产成人高清在线,久久久精品成人免费看,999久久久免费精品国产牛牛,青草视频在线观看完整版,狠狠夜色午夜久久综合热91,日韩精品视频在线免费观看

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

學(xué)人智庫(kù) 時(shí)間:2018-02-10 我要投稿
【www.ishadingyu.com - 學(xué)人智庫(kù)】

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

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

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

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

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

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

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

  7、了解java5以及java6新特性

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

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

  10、動(dòng)態(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è)對(duì)象(兩個(gè)屬性,四個(gè)方法)實(shí)例化100次,現(xiàn)在內(nèi)存中的存儲(chǔ)狀態(tài),

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

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

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

  十六、對(duì)Spring的理解,項(xiàng)目中都用什么?怎么用的?對(duì)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)先級(jí)。

  二六、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語(yǔ)句能否作用在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、請(qǐng)?jiān)O(shè)計(jì)一個(gè)一百億的計(jì)算器 ................................................................................... 11

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

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

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

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

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

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

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

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

  17、請(qǐng)說出作用域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對(duì)象中的

  內(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、如何把一段逗號(hào)分割的字符串轉(zhuǎn)換成一個(gè)數(shù)組? ............................................... 25

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

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

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

  會(huì)被執(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ī)制的簡(jiǎn)單原理和應(yīng)用。 ..................................................... 29

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

  45、JAVA語(yǔ)言如何進(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、啟動(dòng)一個(gè)線程是用run()還是start()? . .................................................................. 35

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

  對(duì)象的其它方法? ........................................................................................................... 35

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

  54、簡(jiǎn)述synchronized和java.util.concurrent.locks.Lock的異同 ? ........................ 36

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

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

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

  再回到主線程又循環(huán)100,如此循環(huán)50次,請(qǐng)寫出程序。 .................................... 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的存儲(chǔ)性能和特性 ......................................... 48

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

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

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

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

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

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

  對(duì)? ................................................................................................................................... 49

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

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

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

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

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

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

  74、什么是java序列化,如何實(shí)現(xiàn)java序列化?或者請(qǐng)解釋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)存嗎?有什么辦法

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

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

  81、java中會(huì)存在內(nèi)存泄漏嗎,請(qǐng)簡(jiǎn)單描述。 ......................................................... 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ù)字字符,請(qǐng)統(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、排序都有哪幾種方法?請(qǐng)列舉。用JAVA實(shí)現(xiàn)一個(gè)快速排序。 ...................... 81

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

  12.金額轉(zhuǎn)換,阿拉伯?dāng)?shù)字的金額轉(zhuǎn)換成中國(guó)傳統(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、請(qǐng)寫出用于校驗(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請(qǐng)求的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對(duì)象的主要方法: ..................................................................................... 88

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

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

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

  12. jsp有哪些動(dòng)作?作用分別是什么? .......................................................................... 90

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

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

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

  16、頁(yè)面間對(duì)象傳遞的方法 ......................................................................................... 91

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  7.分頁(yè)語(yǔ)句 ...................................................................................................................... 98

  8.用一條SQL語(yǔ)句 查詢出每門課都大于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ǔ)知識(shí):

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

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

  由于Java不支持多繼承,而有可能某個(gè)類或?qū)ο笠褂梅謩e在幾個(gè)類或?qū)ο罄锩娴姆椒ɑ驅(qū)傩裕F(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語(yǔ)言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使c++程序員最頭疼的內(nèi)存管理的問題迎刃而解,它使得Java程序員在編寫程序的時(shí)候不再需要考慮內(nèi)存管理。由于有個(gè)垃圾回收機(jī)制,Java中的對(duì)象不再有“作用域”的概念,只有對(duì)象的引用才有“作用域”。垃圾回收可以有效的防止內(nèi)存泄露,有效的使用可以使用的內(nèi)存。垃圾回收器通常是作為一個(gè)單獨(dú)的低級(jí)別的線程運(yùn)行,不可預(yù)知的情況下對(duì)內(nèi)存堆中已經(jīng)死亡的或者長(zhǎng)時(shí)間沒有使用的對(duì)象進(jìn)行清楚和回收,程序員不能實(shí)時(shí)的調(diào)用垃圾回收器對(duì)某個(gè)對(duì)象或所有對(duì)象進(jìn)行垃圾回收;厥諜C(jī)制有分代復(fù)制垃圾回收和標(biāo)記垃圾回收,增量垃圾回收。

  4.請(qǐng)說出你所知道的線程同步的方法。

  wait():使一個(gè)線程處于等待狀態(tài),并且釋放所持有的對(duì)象的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)先級(jí)。

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

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

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

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

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

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

  表示該類不能被繼承,是頂級(jí)類。

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

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

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

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

  10.如果系統(tǒng)要使用超大整數(shù)(超過long長(zhǎng)度范圍),請(qǐng)你設(shè)計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)這種超大型數(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),請(qǐng)你設(shè)計(jì)基本的圖形元件(Point,Line,Rectangle,Triangle)的簡(jiǎn)單實(shí)現(xiàn)

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

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

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

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

  第四,&和&&的區(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)置對(duì)象?( 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. 四種會(huì)話跟蹤技術(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è)對(duì)象值相同用“==”

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

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

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

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

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

  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)不會(huì)輸出,因?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) 視圖是一種特殊的表,它存儲(chǔ)了用戶定制的數(shù)據(jù)。

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

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

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

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

  18)Struts控制器的主要任務(wù)是接受用戶請(qǐng)求、根據(jù)用戶請(qǐng)求調(diào)用對(duì)應(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) 對(duì)于每個(gè)數(shù)據(jù)庫(kù)事務(wù),應(yīng)該創(chuàng)建一個(gè)SessionFactory對(duì)象

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

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

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

  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ù)庫(kù)技術(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). 對(duì)象 B). 類 C). 繼承 D).過程調(diào)用

  29.設(shè)正x、y均為整型變量,且x=10 y=3,則以下語(yǔ)句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 對(duì)象?

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

  3. try {}里有一個(gè)return語(yǔ)句,那么緊跟在這個(gè)try后的finally {}里的code會(huì)被執(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對(duì)象。

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

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

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

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

  4.啟動(dòng)一個(gè)線程是用start。 對(duì)

  5. 接口可以繼承接口。 對(duì)

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

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

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

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

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

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

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

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

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

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

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

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

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

  答:一到兩各種主色彩。

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

  答:紅色。

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

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

  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中國(guó)43中國(guó)人

  0ewldfls=103",4);

  ss.SplitIt();

  }

  }

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

  1. 手寫 html 能力

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

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

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

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

  一、 概念題

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

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

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

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

  Hashtable繼承Map接口,實(shí)現(xiàn)一個(gè)key-value映射的哈希表。任何非空(non-null)的對(duì)象都可作為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ù)庫(kù)相關(guān)題

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

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

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

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

  三、 程序填空題。

  閱讀下列說明、圖以及Java程序,將應(yīng)填入__(n)__處的字句寫在答題紙的對(duì)應(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)對(duì)象的聚集關(guān)系,如圖4-1中OrderList與Order之間的聚集關(guān)系。for-each循環(huán)提供了一種遍歷對(duì)象集合的簡(jiǎn)單方法。在for-each循環(huán)中,可以指定需要遍歷的對(duì)象集合以及用來接收集合中每個(gè)元素的變量,其語(yǔ)法如下: for(用來接收集合中元素的變量:需要遍歷的對(duì)象集合),如果要使用for-each循環(huán)來遍歷對(duì)象集合,那么包含該對(duì)象集合的類必須實(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ì)思路對(duì)傳輸門進(jìn)行狀態(tài)模擬,請(qǐng)?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)輸出對(duì)應(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)置對(duì)象?()(單選)

  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. 四種會(huì)話跟蹤技術(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è)對(duì)象值相同用“==”

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

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

  A Vector是線程安全的

  Bfloat f=3.4是正確的

  C StringBuffer的長(zhǎng)度是可變的

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

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

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

  C Set的元素是有序的

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

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

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

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

  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)不會(huì)輸出,因?yàn)楸磉_(dá)式是錯(cuò)誤的

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

  a)b)c)d)

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

  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) 視圖是一種特殊的表,它存儲(chǔ)了用戶定制的數(shù)據(jù)。

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

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

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

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

  18)Struts控制器的主要任務(wù)是接受用戶請(qǐng)求、根據(jù)用戶請(qǐng)求調(diào)用對(duì)應(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) 對(duì)于每個(gè)數(shù)據(jù)庫(kù)事務(wù),應(yīng)該創(chuàng)建一個(gè)SessionFactory對(duì)象

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

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

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

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

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

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

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

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

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

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

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

  D)依賴注入的使用會(huì)增大程序的規(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ù)庫(kù)技術(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,則以下語(yǔ)句printf("%d,%d ",x--,--y); 的輸出結(jié)果是()(單選) A).10,3 B). 9,3 C). 9,2 D).10,2

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

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

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

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

  3. try {}里有一個(gè)return語(yǔ)句,那么緊跟在這個(gè)try后的finally {}里的code會(huì)被執(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對(duì)象

  三. 判斷題(每題2分)

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

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

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

  4. 啟動(dòng)一個(gè)線程是用start()對(duì)

  5. 接口可以繼承接口對(duì)

  四.簡(jiǎn)答題(每題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. 將會(huì)打印出什么? 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ò)請(qǐng)說明原因!

  abstract class Name {

  private String name;

  public abstract boolean isStupidName(String name) {}

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

  4. 表:table1(FId,Fclass,Fscore),用最高效最簡(jiǎn)單的SQL列出各班成績(jī)最高的列表,顯示班級(jí),成績(jī)兩個(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

1.java前端開發(fā)面試題

2.公司JAVA開發(fā)面試題

3.2016年Java開發(fā)崗位面試題

4.2015年Java開發(fā)崗位面試題歸類

5.2014Java數(shù)據(jù)庫(kù)開發(fā)工程師面試問題

6.16年Java開發(fā)崗位面試題匯總

7.2016全年Java開發(fā)崗位面試題匯總

8.Java軟件開發(fā)工程師實(shí)習(xí)求職常見面試題

9.java學(xué)習(xí):Java面試題和答案

10.java面試試題