導航:首頁 > 編程語言 > java三年面試

java三年面試

發布時間:2024-02-29 02:56:41

『壹』 java面試需要注意哪些

1、請你自我介紹一下自己好嗎?
回答提示:一般人回答這個問題過於平常,只說姓名、年齡、愛好、工作經驗,這些在簡歷上都有。其實,企業最希望知道的是求職者能否勝任工作,包括:最強的技能、最深入研究的知識領域、個性中最積極的部分、做過的最成功的事,主要的成就等,這些都可以和學習無關,也可以和學習有關,但要突出積極的個性和做事的能力,說得合情合理企業才會相信。企業很重視一個人的禮貌,求職者要尊重考官,在回答每個問題之後都說一句「謝謝」,企業喜歡有禮貌的求職者。
2、你覺得你個性上最大的優點是什麼?
回答提示:沉著冷靜、條理清楚、立場堅定、頑強向上、樂於助人和關心他人、適應能力和幽默感、樂觀和友愛。我在北大青鳥經過一到兩年的培訓及項目實戰,加上實習工作,使我適合這份工作。
3、說說你最大的缺點?
回答提示:這個問題企業問的概率很大,通常不希望聽到直接回答的缺點是什麼等,如果求職者說自己小心眼、愛忌妒人、非常懶、脾氣大、工作效率低,企業肯定不會錄用你。絕對不要自作聰明地回答「我最大的缺點是過於追求完美」,有的人以為這樣回答會顯得自己比較出色,但事實上,他已經岌岌可危了。企業喜歡求職者從自己的優點說起,中間加一些小缺點,最後再把問題轉回到優點上,突出優點的部分,企業喜歡聰明的求職者。
4、你對薪資的要求?
回答提示:如果你對薪酬的要求太低,那顯然貶低自己的能力;如果你對薪酬的要求太高,那又會顯得你分量過重,公司受用不起。一些僱主通常都事先對求聘的職位定下開支預算,因而他們第一次提出的價錢往往是他們所能給予的最高價錢,他們問你只不過想證實一下這筆錢是否足以引起你對該工作的興趣。
回答樣本一:我對工資沒有硬性要求,我相信貴公司在處理我的問題上會友善合理。我注重的是找對工作機會,所以只要條件公平,我則不會計較太多。
回答樣本二:我受過系統的軟體編程的訓練,不需要進行大量的培訓,而且我本人也對編程特別感興趣。因此,我希望公司能根據我的情況和市場標準的水平,給我合理的薪水。
回答樣本三:如果你必須自己說出具體數目,請不要說一個寬泛的范圍,那樣你將只能得到最低限度的數字。最好給出一個具體的數字,這樣表明你已經對當今的人才市場作了調查,知道像自己這樣學歷的雇員有什麼樣的價值。
5、你對加班的看法?
回答提示:實際上好多公司問這個問題,並不證明一定要加班,只是想測試你是否願意為公司奉獻。
回答樣本:如果工作需要我會義不容辭加班,我現在單身,沒有任何家庭負擔,可以全身心的投入工作。但同時我也會提高工作效率,減少不必要的加班。
6、如果通過這次面試我們錄用了你,但工作一段時間卻發現你根本不適合這個職位,你怎麼辦?
回答提示:一段時間發現工作不適合我,有兩種情況:①如果你確實熱愛這個職業,那你就要不斷學習,虛心向領導和同事學習業務知識和處事經驗,了解這個職業的精神內涵和職業要求,力爭減少差距;②你覺得這個職業可有可無,那還是趁早換個職業,去發現適合你的,你熱愛的職業,那樣你的發展前途也會大點,對單位和個人都有好處。
7、談談你對跳槽的看法?
回答提示:①正常的「跳槽」能促進人才合理流動,應該支持。②頻繁的跳槽對單位和個人雙方都不利,應該反對。
8、工作中難以和同事、上司相處,你該怎麼辦?
回答提示:①我會服從領導的指揮,配合同事的工作。②我會從自身找原因,仔細分析是不是自己工作做得不好讓領導不滿意,同事看不慣。還要看看是不是為人處世方面做得不好,如果是這樣的話我會努力改正。③如果我找不到原因,我會找機會跟他們溝通,請他們指出我的不足,有問題就及時改正。④作為優秀的員工,應該時刻以大局為重,即使在一段時間內,領導和同事對我不理解,我也會做好本職工作,虛心向他們學習,我相信,他們會看見我在努力,總有一天會對我微笑的。
9、你對於我們公司了解多少?
回答提示:在去公司面試前上網查一下該公司主營業務。如回答:貴公司有意改變策略,加強與國外大廠的OEM合作,自有品牌的部分則透過海外經銷商。
10、最能概括你自己的三個詞是什麼?
回答提示:我經常用的三個詞是:適應能力強,有責任心和做事有始終,結合具體例子向主考官解釋,
11、你的業余愛好是什麼?
回答提示:找一些富於團體合作精神的,這里有一個真實的故事:有人被否決掉,因為他的愛好是深海潛水。主考官說:因為這是一項單人活動,我不敢肯定他能否適應團體工作。
12、作為被面試者給我打一下分?
回答提示:試著列出四個優點和一個非常非常非常小的缺點(可以抱怨一下設施,沒有明確責任人的缺點是不會有人介意的)。
13、你為什麼要離開原來的公司?
回答提示:①回答這個問題時一定要小心,就算在前一個工作受到再大的委屈,對公司有多少的怨言,都千萬不要表現出來,尤其要避免對公司本身主管的批評,避免面試官的負面情緒及印象。建議此時最好的回答方式是將問題歸咎在自己身上,例如覺得工作沒有學習發展的空間,自己想在面試工作的相關產業中多加學習,或是前一份工作與自己的生涯規劃不合等等,回答的答案最好是積極正面的。②我希望能獲得一份更好的工作,如果機會來臨,我會抓住。我覺得目前的工作,已經達到頂峰,即沒有升遷機會。
14、你欣賞哪種性格的人?
回答提示:誠實、不死板而且容易相處的人、有「實際行動」的人。
15、你通常如何對待別人的批評?
回答提示:①沈默是金,不必說什麼,否則情況更糟,不過我會接受建設性的批評。②我會等大家冷靜下來再討論。
16、怎樣對待自己的失敗?
回答提示:我們大家生來都不是十全十美的,我相信我有第二個機會改正我的錯誤。
17、你為什麼願意到我們公司來工作?
回答提示:對於這個問題,你要格外小心,如果你已經對該單位作了研究,你可以回答一些詳細的原因,像「公司本身的高技術開發環境很吸引我。」、「我同公司出生在同樣的時代,我希望能夠進入一家與我共同成長的公司。」、「你們公司一直都穩定發展,在近幾年來在市場上很有競爭力。」、「我認為貴公司能夠給我提供一個與眾不同的發展道路。」這都顯示出你已經做了一些調查,也說明你對自己的未來有了較為具體的遠景規劃。
18、對這項工作,你有哪些可預見的困難?
回答提示:①不宜直接說出具體的困難,否則可能令對方懷疑應聘者不行。②可以嘗試迂迴戰術,說出應聘者對困難所持有的態度——工作中出現一些困難是正常的,也是難免的,但是只要有堅忍不拔的毅力、良好的合作精神以及事前周密而充分的准備,任何困難都是可以克服。
19、如果錄用了你,你將怎樣開展工作?
回答提示: ①如果應聘者對於應聘的職位缺乏足夠的了解,最好不要直接說出自己開展工作的具體辦法。②可以嘗試採用迂迴戰術來回答,如「首先聽取領導的指示和要求,然後就有關情況進行了解和熟悉,接下來制定一份近期的工作計劃並報領導批准,最後根據計劃開展工作。」。
分析:這個問題的主要目的也是了解應聘者的工作能力和計劃性、條理性,而且重點想要知道細節。如果向思路中所講的迂迴戰術,面試官會認為迴避問題,如果引導了幾次仍然是迴避的話,此人絕對不會錄用了。
20、你希望與什麼樣的上級共事?
回答提示:①通過應聘者對上級的「希望」可以判斷出應聘者對自我要求的意識,這既上一個陷阱,又是一次機會。②最好迴避對上級具體的希望,多談對自己的要求。③如「做為剛步入社會的新人,我應該多要求自己盡快熟悉環境、適應環境,而不應該對環境提出什麼要求,只要能發揮我的專長就可以了。
分析:這個問題比較好的回答是,希望我的上級能夠在工作中對我多指導,對我工作中的錯誤能夠立即指出。總之,從上級指導這個方面談,不會有大的紕漏。
21、與上級意見不一時,你將怎麼辦?
回答提示:①一般可以這樣回答「我會給上級以必要的解釋和提醒,在這種情況下,我會服從上級的意見。」②如果面試你的是總經理,而你所應聘的職位另有一位經理,且這位經理當時不在場,可以這樣回答:「對於非原則性問題,我會服從上級的意見,對於涉及公司利益的重大問題,我希望能向更高層領導反映。」
分析:這個問題的標准答案是思路①,如果用②的回答,必死無疑。你沒有摸清楚改公司的內部情況,先想打小報告,這樣的人沒有人敢要。
22、為什麼選擇我們公司?
回答提示:曾經在報章雜志看過關於貴公司的報道,與自己所追求的理念有志一同。而貴公司在業界的成績也是有目共睹的,而且對員工的教育訓練、升遷等也都很有制度。
分析:去面試前先做功課,了解一下該公司的背景,讓對方覺得你真的很有心想得到這份工作,而不只是探探路。
23、談談如何適應辦公室工作的新環境?
回答提示①辦公室里每個人有各自的崗位與職責,不得擅離崗位。②根據領導指示和工作安排,制定工作計劃,提前預備,並按計劃完成。③多請示並及時匯報,遇到不明白的要虛心請教。④抓間隙時間,多學習,努力提高自己的政治素質和業務水平。
24、除了本公司外,還應聘了哪些公司?
回答提示:很奇怪,這是相當多公司會問的問題,其用意是要概略知道應徵者的求職志向,所以這並非絕對是負面答案,就算不便說出公司名稱,也應回答「銷售同種產品的公司」,如果應聘的其他公司是不同業界,容易讓人產生無法信任的感覺。
25、你還有什麼問題要問嗎?
回答提示:企業的這個問題看上去可有可無,其實很關鍵,企業不喜歡說「沒問題」的人,因為其很注重員工的個性和創新能力。企業不喜歡求職者問個人福利之類的問題,如果有人這樣問:貴公司對新入公司的員工有沒有什麼培訓項目,我可以參加嗎?或者說貴公司的晉升機制是什麼樣的?企業將很歡迎,因為體現出你對學習的熱情和對公司的忠誠度以及你的上進心。
26、如果你被錄用,何時可以到職?
回答提示:大多數企業會關心就職時間,最好是回答「如果被錄用的話,到職日可按公司規定上班」,但如果還未辭去上一個工作、上班時間又太近,似乎有些強人所難,因為交接至少要一個月的時間,應進一步說明原因,錄取公司應該會通融的。

『貳』 Java面試題,常見面試題及答案匯總

Java最新面試題附贈答案

Q1: Java內部類和子類之間有什麼區別?

答案:內部類是指在一個外部類的內部再定義一個類,內部類對外部類有訪問許可權,可以訪問類中定義的所有變數和方法。子類是從父類(superclass)中繼承的類,子類可以訪問父類所有public和protected的欄位和方法。

Q2: 靜態方法和靜態變數的目的是什麼?

答案:靜態變數被類的所有實例共用,靜態類只能訪問類的靜態變數,或調用類的靜態方法。

Q3: Java語言中有哪些常見的訪問說明符,有什麼意義?

答案:Java中的訪問說明符是放在類名之前,用於定義訪問范圍的關鍵字,常見的訪問說明符有以下幾類:

Public:公共,能被項目中的任何一個Class、Method、Field訪問。

Protected:受保護,能被同類或子類訪問,不能從外部訪問。

Default:默認,只能被同一個包的ClassMethod、Field訪問。

Private:私有,只能被本類訪問。

Q4: 什麼是數據封裝及其意義?

答案:封裝是面向對象編程中用於在單個單元中組合屬性和方法。封裝可以幫助程序員遵循模塊化方法進行軟體開發,每個對象都有自己的一組方法和變數,並且可以獨立干其他對象來執行其功能。另外,封裝也有數據隱藏的目的。

Q5: 什麼是 singleton class(單例類)? 並給出其用法的實際例子。

答案:單例類只能有一個實例,必須自己創建自己的唯一實例,必須給所有其他對象提供這一實例。單例做差枯使用場景的最佳實踐是由於某些驅動程序限制,或由於許可問題的限制只能連接資料庫

Q6: 什麼是循環? Java中有哪些循環?

答案:循環用於編程中重復執行語句,Java中的循環有三類:

1、for循環

for循環用於執行指定重復次數的語句,當程序員明確知道循環次數可以使用for循環。

2、While循環

當語句滿足條件時開始進行重復執行,直到語句不再滿足條件退出循環。While循環中在執行語句之前先檢查是否滿足條件。

3、do while循環

Do while 和while循環基本類似,唯一不同的是do while是先執行語句再檢查條件,也就是說dowhile循環至少會執行一次語句。

Q7: 什麼是無限循環? 如何聲明無限循環?

答案:無限循環是指無條件執行,無限運行。無限循環可以由定義中斷語句塊來結束。

Q8: Java中的double和float變數有什麼區別?

答案: float是單精度浮點數,內存中佔用4位元組double是雙精慶冊度浮點數,內存中佔用8位元組。

Q9: Java中的Final關鍵字是什麼意思純洞? 請舉例說明。

答案: final是Java中的關鍵字,有「無法改變」、「終態」的含義,final類不能被繼承,沒有子類,final類中的方法默認是final的,且不能被子類的方法覆蓋,但可以被繼承。final成員變數表示常量,只能被賦值一次,賦值後值不再改變。final不能用於修飾構造方法。下面的例子中,const_val被聲明且賦值為常量100:Private Final int const_val=100而當一個方法被聲明為final之後,它不能被子類覆蓋,而且會比其他方法都快。

Q10: 舉例說明什麼是三元運算符?

答案:三元運算符,也稱為條件運算符,根據布爾值來決定將哪個值分配給變數,它被表示為...? ...:...

在下面的示例中,如果rank為1,status=Done,否則status=Pending。

Q11: 什麼是Java Packages? 其意義是什麼?

答案:為了更好地組織類,Java 提供了包機制,用於區別類名的命名空間。

包的作用:

1、把功能相似或相關的類或介面組織在同一個包中,方便類的查找和使用。

2、如同文件夾一樣,包也採用了樹形目錄的存儲方式。同一個包中的類名字是不同的,不同的包中的類的名字是可以相同的,當同時調用兩個不同包中相同類名的類時,應該加上包名加以區別。因此,包可以避免名字沖突。3、包也限定了訪問許可權,擁有包訪問許可權的類才能訪問某個包中的類。

『叄』 三年Java都是面試些什麼問題,求分享

其實,不管是什麼樣的面試形,問的問題都差不多,萬變不離其宗,都有規律可內尋。其實對容所有的面試官而言,只有一個目的:在最短的時間里了解到你最多的信息。想高效率的准備面試,先從這七個大方面著手吧!
一、基本情況
1、請用最簡潔的語言描述您從前的工作經歷和工作成果。
二、專業背景
您認為此工作崗位應當具備哪些素質?
三、工作模式
您平時習慣於單獨工作還是團隊工作?
四、價值取向
您對原來的單位和上司的看法如何?
五、資質特性
您如何描述自己的個性?
六、薪資待遇
是否方便告訴我您目前的待遇是多少?
七、背景調查
您是否介意我們通過您原來的單位迚行一些調查?
95%的面試基本上都離不開這些問題,當然還有可能問一些專業問題,我想如果你做過的話應該都不是什麼難事,一般面試官都不會過多的問專業方面的問題的。

『肆』 java面試會問什麼

一般都會問
String,StringBuffer,StringBudilder區別
ArrayList,vector 等的區別
hashMap,hashTable 的區別
多線程的實現方式和方法了
傳參數方面的 考傳的專是本屬身還是副本 如 a(String value); a方法的value參數是傳本身還是副本
其它的問題都是最基本的,基本能答上來
還有就是框架的知識了,比如spring 依賴注入,事務深入點的話 攔截器等
考其它框架的話 基本上問的都是比較基礎的 難的話很少問到
db方面的話 簡單考下你的sql , 可能會寫幾個表 要查什麼讓你寫sql 主要考 多表連接查詢,分組,分組後的查詢,排序,取最大最小之類的 看你sql熟練否

『伍』 java面試的時候,那職業規劃,還有就是面試官說你有什麼問題問我的,這時候要問什麼

職業規劃:你可以談一下你三到五年的職業計劃、發展方向。規劃的時間范圍不要太大就行回,公司會答按著你的職業規劃來培養你。比如說:你計劃在三年內積累行業經驗,三年後向高層管理(或銷售)轉型。

有什麼問題要向面試官問:最好提一些積極主動的問題,表示你對這家公司非常渴望,同時也能表現你很職業的問題。 比如說:大多數問題在面試之前在咱們公司網站上、以及剛才和您的談話中我都了解到了(表示你面試態度誠懇,認真傾聽而且目標明確,同時也體現出你很職業,溝通交流能力強——在面試短短幾分鍾需要了解的問題都了解到了!),但我還有一個問題:我非常希望加入咱們(「咱們」拉近你與面試官的距離)公司,不知道面試結果什麼可以出來?(一箭雙雕:面試結果什麼出來都能知道了,不用你辛苦的等了)

『陸』 學Java的面試都會問些什麼

JAVA程序員面試32問

第一,談談final, finally, finalize的區別。
第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(介面)?

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

第四,&和&&的區別。

第五,HashMap和Hashtable的區別。

第六,Collection 和 Collections的區別。

第七,什麼時候用assert。

第八,GC是什麼? 為什麼要有GC?

第九,String s = new String("xyz");創建了幾個String Object?

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

第十一,short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?

第十二,sleep() 和 wait() 有什麼區別?

第十三,Java有沒有goto?

第十四,數組有沒有length()這個方法? String有沒有length()這個方法?

第十五,Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?

第十六,Set里的元素是不能重復的,那麼用什麼方法來區分重復與否呢? 是用==還是equals()? 它們有何區別?

第十七,給我一個你最常見到的runtime exception。

第十八,error和exception有什麼區別?

第十九,List, Set, Map是否繼承自Collection介面?

第二十,abstract class和interface有什麼區別?

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

第二十二,介面是否可繼承介面? 抽象類是否可實現(implements)介面? 抽象類是否可繼承實體類(concrete class)?

第二十三,啟動一個線程是用run()還是start()?

第二十四,構造器Constructor是否可被override?

第二十五,是否可以繼承String類?

第二十六,當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?

第二十七,try {}里有一個return語句,那麼緊跟在這個try後的finally {}里的code會不會被執行,什麼時候被執行,在return前還是後?

第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?

第二十九,兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?

第三十,當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這里到底是值傳遞還是引用傳遞?

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

第三十二,編程題: 寫一個Singleton出來。

以下是答案

第一,談談final, finally, finalize的區別。
final—修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變數或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變數必須在聲明時給定初值,而在以後的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載
finally—再異常處理時提供 finally 塊來執行任何清除操作。如果拋出一個異常,那麼相匹配的 catch 子句就會執行,然後控制就會進入 finally 塊(如果有的話)。
finalize—方法名。Java 技術允許使用 finalize() 方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統資源或者執行其他清理工作。finalize() 方法是在垃圾收集器刪除對象之前對這個對象調用的。

第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(介面)?
匿名的內部類是沒有名字的內部類。不能extends(繼承) 其它類,但一個內部類可以作為一個介面,由另一個內部類實現。

第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統)。
Nested Class (一般是C++的說法),Inner Class (一般是JAVA的說法)。Java內部類與C++嵌套類最大的不同就在於是否有指向外部的引用上。具體可見http: //www.frontfree.net/articles/services/view.asp?id=704&page=1
註: 靜態內部類(Inner Class)意味著1創建一個static內部類的對象,不需要一個外部類對象,2不能從一個static內部類的一個對象訪問一個外部類對象

第四,&和&&的區別。
&是位運算符。&&是布爾邏輯運算符。

第五,HashMap和Hashtable的區別。
都屬於Map介面的類,實現了將惟一鍵映射到特定的值上。
HashMap 類沒有分類或者排序。它允許一個 null 鍵和多個 null 值。
Hashtable 類似於 HashMap,但是不允許 null 鍵和 null 值。它也比 HashMap 慢,因為它是同步的。

第六,Collection 和 Collections的區別。
Collections是個java.util下的類,它包含有各種有關集合操作的靜態方法。
Collection是個java.util下的介面,它是各種集合結構的父介面。

第七,什麼時候用assert。
斷言是一個包含布爾表達式的語句,在執行這個語句時假定該表達式為 true。如果表達式計算為 false,那麼系統會報告一個 AssertionError。它用於調試目的:
assert(a > 0); // throws an AssertionError if a <= 0
斷言可以有兩種形式:
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1 應該總是產生一個布爾值。
Expression2 可以是得出一個值的任意表達式。這個值用於生成顯示更多調試信息的 String 消息。
斷言在默認情況下是禁用的。要在編譯時啟用斷言,需要使用 source 1.4 標記:
javac -source 1.4 Test.java
要在運行時啟用斷言,可使用 -enableassertions 或者 -ea 標記。
要在運行時選擇禁用斷言,可使用 -da 或者 -disableassertions 標記。
要系統類中啟用斷言,可使用 -esa 或者 -dsa 標記。還可以在包的基礎上啟用或者禁用斷言。
可以在預計正常情況下不會到達的任何位置上放置斷言。斷言可以用於驗證傳遞給私有方法的參數。不過,斷言不應該用於驗證傳遞給公有方法的參數,因為不管是否啟用了斷言,公有方法都必須檢查其參數。不過,既可以在公有方法中,也可以在非公有方法中利用斷言測試後置條件。另外,斷言不應該以任何方式改變程序的狀態。

第八,GC是什麼? 為什麼要有GC? (基礎)。
GC是垃圾收集器。Java 程序員不用擔心內存管理,因為垃圾收集器會自動進行管理。要請求垃圾收集,可以調用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()

第九,String s = new String("xyz");創建了幾個String Object?
兩個對象,一個是「xyx」,一個是指向「xyx」的引用對象s。

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;

第十一,short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?
short s1 = 1; s1 = s1 + 1;有錯,s1是short型,s1+1是int型,不能顯式轉化為short型。可修改為s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正確。

第十二,sleep() 和 wait() 有什麼區別? 搞線程的最愛
sleep()方法是使線程停止一段時間的方法。在sleep 時間間隔期滿後,線程不一定立即恢復執行。這是因為在那個時刻,其它線程可能正在運行而且沒有被調度為放棄執行,除非(a)「醒來」的線程具有更高的優先順序
(b)正在運行的線程因為其它原因而阻塞。
wait()是線程交互時,如果線程對一個同步對象x 發出一個wait()調用,該線程會暫停執行,被調對象進入等待狀態,直到被喚醒或等待時間到。

第十三,Java有沒有goto?
Goto—java中的保留字,現在沒有在java中使用。

第十四,數組有沒有length()這個方法? String有沒有length()這個方法?
數組沒有length()這個方法,有length的屬性。
String有有length()這個方法。

第十五,Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?
方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之間多態性的一種表現,重載Overloading是一個類中多態性的一種表現。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被「屏蔽」了。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

第十六,Set里的元素是不能重復的,那麼用什麼方法來區分重復與否呢? 是用==還是equals()? 它們有何區別?
Set里的元素是不能重復的,那麼用iterator()方法來區分重復與否。equals()是判讀兩個Set是否相等。
equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內容和類型相配的話,返回真值。

第十七,給我一個你最常見到的runtime exception。
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, , DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,
ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

第十八,error和exception有什麼區別?
error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不可能指望程序能處理這樣的情況。
exception 表示一種設計或實現問題。也就是說,它表示如果程序運行正常,從不會發生的情況。

第十九,List, Set, Map是否繼承自Collection介面?
List,Set是

Map不是

第二十,abstract class和interface有什麼區別?
聲明方法的存在而不去實現它的類被叫做抽象類(abstract class),它用於要創建一個體現某些基本行為的類,並為該類聲明方法,但不能在該類中實現該類的情況。不能創建abstract 類的實例。然而可以創建一個變數,其類型是一個抽象類,並讓它指向具體子類的一個實例。不能有抽象構造函數或抽象靜態方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為。取而代之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法。
介面(interface)是抽象類的變體。在介面中,所有方法都是抽象的。多繼承性可通過實現這樣的介面而獲得。介面中的所有方法都是抽象的,沒有一個有程序體。介面只可以定義static final成員變數。介面的實現與子類相似,除了該實現類不能從介面定義中繼承行為。當類實現特殊介面時,它定義(即將程序體給予)所有這種介面的方法。然後,它可以在實現了該介面的類的任何對象上調用介面的方法。由於有抽象類,它允許使用介面名作為引用變數的類型。通常的動態聯編將生效。引用可以轉換到介面類型或從介面類型轉換,instanceof 運算符可以用來決定某對象的類是否實現了介面。

第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?
都不能

第二十二,介面是否可繼承介面? 抽象類是否可實現(implements)介面? 抽象類是否可繼承實體類(concrete class)?
介面可以繼承介面。抽象類可以實現(implements)介面,抽象類是否可繼承實體類,但前提是實體類必須有明確的構造函數。

第二十三,啟動一個線程是用run()還是start()?
啟動一個線程是調用start()方法,使線程所代表的虛擬處理機處於可運行狀態,這意味著它可以由JVM調度並執行。這並不意味著線程就會立即運行。run()方法可以產生必須退出的標志來停止一個線程。

第二十四,構造器Constructor是否可被override?
構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。

第二十五,是否可以繼承String類?
String類是final類故不可以繼承。

第二十六,當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?
不能,一個對象的一個synchronized方法只能由一個線程訪問。

第二十七,try {}里有一個return語句,那麼緊跟在這個try後的finally {}里的code會不會被執行,什麼時候被執行,在return前還是後?
會執行,在return前執行。

第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?
有C背景的程序員特別喜歡問這種問題。

2 << 3

第二十九,兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
不對,有相同的hash code。

第三十,當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這里到底是值傳遞還是引用傳遞?
是值傳遞。Java 編程語言只由值傳遞參數。當一個對象實例作為一個參數被傳遞到方法中時,參數的值就是對該對象的引用。對象的內容可以在被調用的方法中改變,但對象的引用是永遠不會改變的。

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一個整數表達式。因此傳遞給 switch 和 case 語句的參數應該是 int、 short、 char 或者 byte。long,string 都不能作用於swtich。

第三十二,編程題: 寫一個Singleton出來。
Singleton模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。
一般Singleton模式通常有幾種種形式:
第一種形式: 定義一個類,它的構造函數為private的,它有一個static的private的該類變數,在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用,繼而調用其中的方法。
public class Singleton {
private Singleton(){}
//在自己內部定義自己一個實例,是不是很奇怪?
//注意這是private 只供內部調用
private static Singleton instance = new Singleton();
//這里提供了一個供外部訪問本class的靜態方法,可以直接訪問
public static Singleton getInstance() {
return instance;
}
}
第二種形式:
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//這個方法比上面有所改進,不用每次都進行生成對象,只是第一次
//使用時生成實例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance; }
}
其他形式:
定義一個類,它的構造函數為private的,所有方法為static的。
一般認為第一種形式要更加安全些
第三十三 Hashtable和HashMap
Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Map interface的一個實現

HashMap允許將null作為一個entry的key或者value,而Hashtable不允許

還有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在
多個線程訪問Hashtable時,不需要自己為它的方法實現同步,而HashMap
就必須為之提供外同步。

Hashtable和HashMap採用的hash/rehash演算法都大概一樣,所以性能不會有很大的差異

閱讀全文

與java三年面試相關的資料

熱點內容
剛復制的文件找不到怎麼辦 瀏覽:724
試運行適用於哪些體系文件 瀏覽:987
ghost文件復制很慢 瀏覽:967
傑德原車導航升級 瀏覽:240
編程dest是什麼意思 瀏覽:935
linux埠鏡像 瀏覽:820
iphone5屏幕清塵 瀏覽:157
機頂盒密碼怎麼改 瀏覽:672
w7系統下載32位教程 瀏覽:618
pcb文件包括哪些內容 瀏覽:598
g00文件 瀏覽:607
用bat程序刪除程序 瀏覽:516
dnf鬼泣90版本打安圖恩 瀏覽:668
245倒角編程怎麼計算 瀏覽:599
可以買生活用品的app有哪些 瀏覽:175
cad在c盤產生的文件夾 瀏覽:541
聯想手機解鎖工具 瀏覽:696
瑞銀3887win10 瀏覽:833
學網路編程哪個好 瀏覽:805
手機vmos導入的文件在哪裡 瀏覽:115

友情鏈接