欧美另类日韩中文色综合,天堂va亚洲va欧美va国产,www.av在线播放,大香视频伊人精品75,奇米777888,欧美日本道免费二区三区,中文字幕亚洲综久久2021

Java面試寶典版

學(xué)人智庫 時(shí)間:2018-01-13 我要投稿
【www.lotusphilosophies.com - 學(xué)人智庫】

項(xiàng)目介紹

在進(jìn)行技術(shù)面試前,提醒大家,必須要準(zhǔn)備好項(xiàng)目介紹,即需要準(zhǔn)備好你的簡(jiǎn)歷中列的所有項(xiàng)目的項(xiàng)目介紹!

面試時(shí)關(guān)于項(xiàng)目,面試官常見的問題及回答(以銀行柜臺(tái)系統(tǒng)為例):

你給我簡(jiǎn)要介紹一下銀行柜臺(tái)系統(tǒng)?

1、簡(jiǎn)易銀行柜臺(tái)系統(tǒng)是模擬銀行柜臺(tái)的基本功能而做的一個(gè)系統(tǒng)。

2、系統(tǒng)分前臺(tái)和后臺(tái)部分,前臺(tái)部分是銀行柜臺(tái)人員操作的,包括:注冊(cè)登錄模塊、開銷戶模塊、帳號(hào)管理模塊、存取錢轉(zhuǎn)賬模塊、柜臺(tái)人員信息管理;后臺(tái)部分是銀行管理者操作的,包括查看日志模塊、管理柜臺(tái)人員信息模塊;

3、我主要負(fù)責(zé)的是前臺(tái)的全部功能;

你詳細(xì)介紹一下你負(fù)責(zé)的模塊的功能?

1、我負(fù)責(zé)的注冊(cè)登錄模塊和柜臺(tái)人員信息模塊實(shí)際上是管理柜臺(tái)人員信息的,內(nèi)容比較簡(jiǎn)單;

2、開銷戶模塊、帳號(hào)管理模塊、存取錢轉(zhuǎn)賬模塊是為銀行儲(chǔ)戶服務(wù)的模塊。其中開銷戶就是為儲(chǔ)戶開戶、銷戶的功能,賬戶管理模塊就是幫儲(chǔ)戶凍結(jié)帳號(hào)、修改密碼等功能,存取錢轉(zhuǎn)賬模塊就是為儲(chǔ)戶存錢、取錢,幫儲(chǔ)戶轉(zhuǎn)賬的功能;

這個(gè)項(xiàng)目幾個(gè)人做的?用了多長(zhǎng)時(shí)間?

1、 這個(gè)項(xiàng)目比較小,由2個(gè)人合作完成的,我負(fù)責(zé)的是前臺(tái)部分;

2、 項(xiàng)目大概用了4天左右的時(shí)間;

這個(gè)項(xiàng)目使用了什么技術(shù)?

1、 這個(gè)項(xiàng)目使用Struts2、Hibernate3和MySQL

你在做這個(gè)項(xiàng)目的時(shí)候,遇到了什么困難,怎么解決的?

1、 比如在Hiberante的使用,關(guān)于表之間關(guān)聯(lián)關(guān)系的配置,我開始操作的時(shí)候不太熟悉,后來通過查文檔、和其他同學(xué)溝通的方式,這個(gè)問題也得到了解決;

備注:如果你在這里提到了表之間關(guān)聯(lián)關(guān)系的配置,那么這個(gè)問題面試官非常有可能接下去就問這個(gè)技術(shù)問題,所以務(wù)必認(rèn)真準(zhǔn)備這個(gè)技術(shù)問題。

前言

這套面試題主要目的是幫助那些還沒有java軟件開發(fā)實(shí)際工作經(jīng)驗(yàn),而正在努力尋找java軟件開發(fā)工作的學(xué)生在筆試/面試時(shí)更好地贏得好的結(jié)果。由于這套試題涉及的范圍很泛,很廣,很雜,大家不可能一天兩天就看完和學(xué)完這套面試寶典,即使你已經(jīng)學(xué)過了有關(guān)的技術(shù),那么至少也需要半個(gè)月的時(shí)間才能消化和掌握這套面試寶典,所以,大家應(yīng)該早作準(zhǔn)備,從拿到這套面試寶典之日起,就要堅(jiān)持在每天閑暇之余學(xué)習(xí)其中幾道題目,日積月累,等到出去面試時(shí),一切都水到渠成,面試時(shí)就自然會(huì)游刃有余了。

答題時(shí),先答是什么,再答有什么作用,要注意什么(這條可以沒有)

比如說面試官問:給我介紹一下ORM?

較好回答:

1、 ORM就是Object Relational Mapping,就是對(duì)象關(guān)系映射;

2、 作用:我們?cè)趯懗绦虻臅r(shí)候,用的是面向?qū)ο蟮姆椒,但是在關(guān)系型數(shù)據(jù)庫里,存的是一條條的記錄;為了用純面向?qū)ο蟮乃枷虢鉀Q問題,所以需要將程序中的對(duì)象和數(shù)據(jù)庫中的記錄建立起映射關(guān)系,ORM就是將對(duì)象和數(shù)據(jù)庫中的記錄建立起映射的技術(shù);

答案要層次分明,條理清晰,從這些表面的東西也可以看出一個(gè)人的習(xí)慣、辦事風(fēng)格、條理等。

答題不局限于什么格式和形式,就是要將自己的掌握的技術(shù)內(nèi)容展現(xiàn)出來,比如可以采用舉例的說法:

需要特別注意的是,因?yàn)槊嬖嚬俦旧硭綄哟尾积R,不要因?yàn)槿思翌}目問的模棱兩可(或者題目問的不準(zhǔn)確),你就心里膽怯和沒底氣了,不敢回答了。你要大膽地提出對(duì)方題目中你不清楚的地方,希望對(duì)方能重新明確的提出問題?

例如,你可以問:您提的問題,我剛才沒有完全聽明白,能不能再說一遍。

一. Java基礎(chǔ)部分

1、 請(qǐng)說一下break和continue的區(qū)別?

1、這兩個(gè)語句都可以用于跳出循環(huán)的;

2、break是中止循環(huán),執(zhí)行循環(huán)體以后的語句,而continue是跳出本次循環(huán),執(zhí)行下一次循環(huán);

2、 switch 中用于判斷的表達(dá)式,可以用哪些數(shù)據(jù)類型?

1、可以是char、byte、short、int,不可以是long、String等其他類型;

2、從JDK1.7開始,支持String類型;

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

Java里采用了Unicode編碼格式,Unicode編碼中一個(gè)char型占用2個(gè)字節(jié),而一個(gè)漢字也是占用2個(gè)字節(jié),所以可以存儲(chǔ)中文漢字。

備注:C語言里,char占用1個(gè)字節(jié),不用存漢字。

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

在語法定義上的區(qū)別:靜態(tài)變量前要加static關(guān)鍵字,而實(shí)例變量前則不加。

在程序運(yùn)行時(shí)的區(qū)別:實(shí)例變量屬于某個(gè)對(duì)象的屬性,必須創(chuàng)建了實(shí)例對(duì)象,其中的實(shí)例變量才會(huì)被分配空間,才能使用這個(gè)實(shí)例變量。靜態(tài)變量不屬于某個(gè)實(shí)例對(duì)象,而是屬于類,所以也稱為類變量,不用創(chuàng)建任何實(shí)例對(duì)象,靜態(tài)變量就會(huì)被分配空間,靜態(tài)變量就可以被使用了?傊瑢(shí)例變量必須創(chuàng)建對(duì)象后才可以通過這個(gè)對(duì)象來使用,靜態(tài)變量則可以直接使用類名來引用。

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

不可以。因?yàn)榉莝tatic方法是要與對(duì)象關(guān)聯(lián)在一起的,必須創(chuàng)建一個(gè)對(duì)象后,才可以在該對(duì)象上進(jìn)行方法調(diào)用,而static方法調(diào)用時(shí)不需要?jiǎng)?chuàng)建對(duì)象,可以直接調(diào)用。也就是說,當(dāng)一個(gè)static方法被調(diào)用時(shí),可能還沒有創(chuàng)建任何實(shí)例對(duì)象,如果從一個(gè)static方法中發(fā)出對(duì)非static方法的調(diào)用,那個(gè)非static方法是關(guān)聯(lián)到哪個(gè)對(duì)象上的呢?這個(gè)邏輯無法成立,所以,一個(gè)static方法內(nèi)部發(fā)出對(duì)非static方法的調(diào)用。

6、 Integer與int的區(qū)別

1、int是基本數(shù)據(jù)類型,Integer是包裝類;

2、int的默認(rèn)值是0,Interger的默認(rèn)值是null;

7、 Overload和Override的區(qū)別。參數(shù)列表相同,返回值不同的方法,是否是重載方法?

Overload是重載的意思,Override是覆蓋的意思,也就是重寫。

重載是指在一個(gè)類里,方法名相同,參數(shù)不同;

重寫是指子類繼承父類,子類里重新編寫了父類中的同名(同參數(shù))方法,也就是覆蓋了父類的方法;

不是!因?yàn)橹剌d必須要求參數(shù)列表不同!

8、 接口是否可繼承接口? 抽象類是否可實(shí)現(xiàn)(implements)接口? 抽象類是否可繼承具體類(concrete class)?

接口可以繼承接口。抽象類可以實(shí)現(xiàn)(implements)接口,抽象類是否可繼承具體類。

備注:只要明白了接口和抽象類的本質(zhì)和作用,這些問題都很好回答。

只有記住抽象類與普通類的唯一區(qū)別就是不能創(chuàng)建實(shí)例對(duì)象和允許有abstract方法。

9、 面向?qū)ο笥心娜筇匦?

1、面向?qū)ο笥腥筇匦,分別是:封裝、繼承和多態(tài)。

2、封裝:面向?qū)ο蟮姆庋b就是把描述一個(gè)對(duì)象的屬性和行為的代碼封裝在一個(gè)類中,有些屬性是不希望公開的,或者說被其他對(duì)象訪問的,所以我們使用private修飾該屬性,使其隱藏起來;類中提供了方法(用public修飾),常用的是get、set方法,可以操作這些被隱藏的屬性,其他類可以通過調(diào)用這些方法,改變隱藏屬性的值!

下面的回答是更高要求,不需要學(xué)生必須掌握:

封裝是保證軟件部件具有優(yōu)良的模塊性的基礎(chǔ),封裝的目標(biāo)就是要實(shí)現(xiàn)軟件部件的“高內(nèi)聚、低耦合”,防止程序相互依賴性而帶來的變動(dòng)影響。在面向?qū)ο蟮木幊陶Z言中,對(duì)象是封裝的最基本單位,面向?qū)ο蟮姆庋b比傳統(tǒng)語言的封裝更為清晰、更為有力。

3、繼承:在定義和實(shí)現(xiàn)一個(gè)類的時(shí)候,可以在一個(gè)已經(jīng)存在的類的基礎(chǔ)之上來進(jìn)行,使用extends關(guān)鍵字實(shí)現(xiàn)繼承;子類中可以加入若干新的內(nèi)容,或修改原來的方法使之更適合特殊的需要,這就是繼承。繼承是子類自動(dòng)共享父類數(shù)據(jù)和方法的機(jī)制,這是類之間的一種關(guān)系,提高了軟件的可重用性和可擴(kuò)展性。

4、多態(tài):多態(tài)就是在聲明時(shí)使用父類,在實(shí)現(xiàn)或調(diào)用時(shí)使用具體的子類;即不修改程序代碼就可以改變程序運(yùn)行時(shí)所綁定的具體代碼,讓程序可以選擇多個(gè)運(yùn)行狀態(tài),這就是多態(tài)性,多態(tài)增強(qiáng)了軟件的靈活性和擴(kuò)展性。這里可以舉個(gè)例子,比如聲明時(shí)使用的是動(dòng)物類,調(diào)用時(shí)傳遞的是一個(gè)貓類(動(dòng)物類的子類)的對(duì)象,具體執(zhí)行父類里動(dòng)物——吃的方法時(shí),實(shí)際執(zhí)行的是貓——吃的方法。

10、 abstract class和interface有什么區(qū)別?

1、抽象類里面可以用普通方法,而接口中的方法全部都是抽象的;

2、在應(yīng)用范圍上來說,接口往往在程序設(shè)計(jì)的時(shí)候,用來定義程序模塊的功能,方便各模塊協(xié)同工作;抽象類是對(duì)相似類進(jìn)行抽象,形成一個(gè)抽象的父類可供重用!

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

1、String是個(gè)類,不是基本數(shù)據(jù)類型;

2、基本數(shù)據(jù)類型包括byte、int、char、long、float、double、boolean和short。

12、 String 和StringBuffer的區(qū)別

1、String是個(gè)不可變長(zhǎng)度的字符串,而StringBuffer是個(gè)可變長(zhǎng)度的字符串;

2、在對(duì)String類進(jìn)行操作的時(shí)候(例如增加字符),實(shí)際上是在內(nèi)存中產(chǎn)生了一個(gè)新的String對(duì)象; 而StringBuffer是給原對(duì)象增加字符,不是新創(chuàng)建一個(gè)對(duì)象;

13、 數(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è)方法。

14、 final, finally, finalize的區(qū)別。

final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。

finally是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行。

finalize是Object類的一個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候會(huì)調(diào)用被回收對(duì)象的此方法,可以覆蓋此方法提供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文件等。JVM不保證此方法總被調(diào)用

15、 請(qǐng)說一下你常用的幾種異常?

比如:

1、 空指針異常;

2、 數(shù)組下標(biāo)越界;

3、 類型轉(zhuǎn)換異常;

4、 算數(shù)異常,例如除數(shù)為零;

5、 IO異常,比如說找不到文件;

6、 找不到類異常;

7、 sql異常,例如sql語句不能正常運(yùn)行;

8、 …

16、 線程的基本概念?線程的基本狀

[Java面試寶典2013版]