- 相關(guān)推薦
java招聘面試常見(jiàn)問(wèn)題
我們招聘面試時(shí)面試官通常會(huì)向我們提問(wèn)的,那么,下面是小編給大家整理收集的java招聘面試常見(jiàn)問(wèn)題,供大家閱讀參考。
java招聘面試常見(jiàn)問(wèn)題:
1、Java集合框架是什么?說(shuō)出一些集合框架的優(yōu)點(diǎn)?
每種編程語(yǔ)言中都有集合,最初的Java版本包含幾種集合類(lèi):Vector、Stack、HashTable和Array。
隨著集合的廣泛使用,Java1、2提出了囊括所有集合接口、實(shí)現(xiàn)和算法的集合框架。在保證線程安全的情況下使用泛型和并發(fā)集合類(lèi),Java已經(jīng)經(jīng)歷了很久。它還包括在Java并發(fā)包中,阻塞接口以及它們的實(shí)現(xiàn)。
集合框架的部分優(yōu)點(diǎn)如下:
(1)使用核心集合類(lèi)降低開(kāi)發(fā)成本,而非實(shí)現(xiàn)我們自己的集合類(lèi)。
(2)隨著使用經(jīng)過(guò)嚴(yán)格測(cè)試的集合框架類(lèi),代碼質(zhì)量會(huì)得到提高。
(3)通過(guò)使用JDK附帶的集合類(lèi),可以降低代碼維護(hù)成本。
(4)復(fù)用性和可操作性。
2、集合框架中的泛型有什么優(yōu)點(diǎn)?
Java1、5引入了泛型,所有的集合接口和實(shí)現(xiàn)都大量地使用它。泛型允許我們?yōu)榧咸峁┮粋(gè)可以容納的對(duì)象類(lèi)型,因此,如果你添加其它類(lèi)型的任何元素,它會(huì)在編譯時(shí)報(bào)錯(cuò)。這避免了在運(yùn)行時(shí)出現(xiàn)ClassCastException,因?yàn)槟銓?huì)在編譯時(shí)得到報(bào)錯(cuò)信息。
泛型也使得代碼整潔,我們不需要使用顯式轉(zhuǎn)換和instanceOf操作符。它也給運(yùn)行時(shí)帶來(lái)好處,因?yàn)椴粫?huì)產(chǎn)生類(lèi)型檢查的字節(jié)碼指令。
3、Java集合框架的基礎(chǔ)接口有哪些?
Collection為集合層級(jí)的根接口。一個(gè)集合代表一組對(duì)象,這些對(duì)象即為它的元素。Java平臺(tái)不提供這個(gè)接口任何直接的實(shí)現(xiàn)。
Set是一個(gè)不能包含重復(fù)元素的集合。這個(gè)接口對(duì)數(shù)學(xué)集合抽象進(jìn)行建模,被用來(lái)代表集合,就如一副牌。
List是一個(gè)有序集合,可以包含重復(fù)元素。你可以通過(guò)它的索引來(lái)訪問(wèn)任何元素。List更像長(zhǎng)度動(dòng)態(tài)變換的數(shù)組。
Map是一個(gè)將key映射到value的對(duì)象、一個(gè)Map不能包含重復(fù)的key:每個(gè)key最多只能映射一個(gè)value。
一些其它的接口有Queue、Dequeue、SortedSet、SortedMap和ListIterator。
4、為何Collection不從Cloneable和Serializable接口繼承?
Collection接口指定一組對(duì)象,對(duì)象即為它的元素。如何維護(hù)這些元素由Collection的具體實(shí)現(xiàn)決定。
例如,一些如List的Collection實(shí)現(xiàn)允許重復(fù)的元素,而其它的如Set就不允許。很多Collection實(shí)現(xiàn)有一個(gè)公有的clone方法。然而,把它放到集合的所有實(shí)現(xiàn)中也是沒(méi)有意義的。這是因?yàn)镃ollection是一個(gè)抽象表現(xiàn)。重要的是實(shí)現(xiàn)。
當(dāng)與具體實(shí)現(xiàn)打交道的時(shí)候,克隆或序列化的語(yǔ)義和含義才發(fā)揮作用。所以,具體實(shí)現(xiàn)應(yīng)該決定如何對(duì)它進(jìn)行克隆或序列化,或它是否可以被克隆或序列化。
在所有的實(shí)現(xiàn)中授權(quán)克隆和序列化,最終導(dǎo)致更少的靈活性和更多的限制。特定的實(shí)現(xiàn)應(yīng)該決定它是否可以被克隆和序列化。
5、為何Map接口不繼承Collection接口?
盡管Map接口和它的實(shí)現(xiàn)也是集合框架的一部分,但Map不是集合,集合也不是Map。因此,Map繼承Collection毫無(wú)意義,反之亦然。
如果Map繼承Collection接口,那么元素去哪兒?Map包含key-value對(duì),它提供抽取key或value列表集合的方法,但是它不適合“一組對(duì)象”規(guī)范。
6、Iterator是什么?
Iterator接口提供遍歷任何Collection的接口。我們可以從一個(gè)Collection中使用迭代器方法來(lái)獲取迭代器實(shí)例。迭代器取代了Java集合框架中的Enumeration。迭代器允許調(diào)用者在迭代過(guò)程中移除元素。
7、Enumeration和Iterator接口的區(qū)別?
Enumeration的速度是Iterator的兩倍,也使用更少的內(nèi)存。Enumeration是非;A(chǔ)的,也滿足了基礎(chǔ)的需要。但是,與Enumeration相比,Iterator更加安全,因?yàn)楫?dāng)一個(gè)集合正在被遍歷的時(shí)候,它會(huì)阻止其它線程去修改集合。
迭代器取代了Java集合框架中的Enumeration。迭代器允許調(diào)用者從集合中移除元素,而Enumeration不能做到。為了使它的功能更加清晰,迭代器方法名已經(jīng)經(jīng)過(guò)改善。
8、為何沒(méi)有像Iterator、add()這樣的方法,向集合中添加元素?
語(yǔ)義不明,已知的是,Iterator的協(xié)議不能確保迭代的次序。然而要注意,ListIterator沒(méi)有提供一個(gè)add操作,它要確保迭代的順序。
9、為何迭代器沒(méi)有一個(gè)方法可以直接獲取下一個(gè)元素,而不需要移動(dòng)游標(biāo)?
它可以在當(dāng)前Iterator的頂層實(shí)現(xiàn),但是它用得很少,如果將它加到接口中,每個(gè)繼承都要去實(shí)現(xiàn)它,這沒(méi)有意義。
10、Iterater和ListIterator之間有什么區(qū)別?
(1)我們可以使用Iterator來(lái)遍歷Set和List集合,而ListIterator只能遍歷List。
(2)Iterator只可以向前遍歷,而LIstIterator可以雙向遍歷。
(3)ListIterator從Iterator接口繼承,然后添加了一些額外的功能,比如添加一個(gè)元素、替換一個(gè)元素、獲取前面或后面元素的索引位置。
面試界最經(jīng)典的十道問(wèn)題
1請(qǐng)你介紹一下自己
自我介紹并不是簡(jiǎn)單地介紹自己的姓名、年齡、專(zhuān)業(yè)和興趣愛(ài)好,其實(shí)面試官對(duì)“你是否能夠勝任這份工作”更感興趣,所以大家在面試時(shí)更需要將自己的最擅長(zhǎng)的技能,最熟悉的領(lǐng)域,工作方面的主要成就講出來(lái),突顯出自己的能力。
2說(shuō)說(shuō)你最大的缺點(diǎn)
一般面試都會(huì)提到的問(wèn)題,但是請(qǐng)注意:不能直接把自己的缺點(diǎn)全盤(pán)說(shuō)出。建議大家回答問(wèn)題從講述自己的優(yōu)點(diǎn)說(shuō)起,中間加一些自己的小缺點(diǎn),最后再把重點(diǎn)放在講述自己的優(yōu)點(diǎn)上,表明即使自身并不完美,但是小確定并不會(huì)妨礙你在工作中的出色發(fā)揮。
3談?wù)勀銓?duì)加班的看法
很多公司都會(huì)問(wèn)到這個(gè)問(wèn)題,到不是企業(yè)一定會(huì)經(jīng)常加班,只是看看你對(duì)企業(yè)奉獻(xiàn)的意愿程度。當(dāng)然不排除有些初創(chuàng)、互聯(lián)網(wǎng)、創(chuàng)意公司會(huì)有加班的問(wèn)題,所以最好事先有個(gè)判斷再回答是否能夠接受加班的情況。
4談?wù)勀銓?duì)薪資的要求
工資要的太低,顯然是在貶低自己的能力,而工資太高又顯得分量過(guò)重。通常企業(yè)問(wèn)這個(gè)問(wèn)題只是看他們的招聘預(yù)算是否可以將你的薪資cover住,偏高可能還需要再談,偏低并且其他方面合適就會(huì)盡快通知入職。
5你對(duì)我們公司了解多少
有一些非常在意企業(yè)文化的公司,在面試時(shí)還喜歡問(wèn)求職者對(duì)于面試公司的了解情況,一來(lái)考驗(yàn)面試者對(duì)待這次面試是否認(rèn)真,二來(lái)查看人才是否是企業(yè)的菜。
6你希望和什么樣的上級(jí)共事?
從面試者對(duì)未來(lái)上級(jí)的“希望”,可以看到面試者的自我要求意識(shí),這個(gè)問(wèn)題既是陷阱,也是一次機(jī)會(huì)。建議大家最好的回答方式是:少說(shuō)對(duì)未來(lái)上級(jí)的期望,多說(shuō)對(duì)自己的要求。
7說(shuō)一個(gè)你的成功案例
舉一個(gè)自己全面參與,或者是自己負(fù)責(zé)的成功案例,能夠清楚地將這件項(xiàng)目的來(lái)龍去脈講出來(lái),并且體現(xiàn)出自己在項(xiàng)目中的領(lǐng)導(dǎo)或重要作用。切記不要說(shuō)太多,不要把項(xiàng)目結(jié)果夸大其詞,這些會(huì)形成漏洞引人懷疑。
8談?wù)勀阄磥?lái)五年的職業(yè)規(guī)劃
大家在五年的職業(yè)規(guī)劃中,大概都會(huì)給自己設(shè)定一個(gè)“管理者”的規(guī)劃,但是大家需要事先了解自己的職位的發(fā)展方向和發(fā)展通道,比如一個(gè)初級(jí)銷(xiāo)售的發(fā)展路徑可看作“初級(jí)銷(xiāo)售 - 高級(jí)銷(xiāo)售 - 大客戶銷(xiāo)售 - 銷(xiāo)售經(jīng)理”等,把自己的職業(yè)發(fā)展搞清楚,也能讓用人單位更加放心你不會(huì)三分鐘熱度。
9你喜歡這份工作的哪一點(diǎn)?
每個(gè)人的價(jià)值觀不同,自然回答也不盡相同。但是,在面試官面前不能將自己心底最真實(shí)的“工資高”“離家近”“事情少”當(dāng)做理由說(shuō)出來(lái),要更多的提出“對(duì)自己的能力有所挑戰(zhàn)”、“對(duì)職業(yè)發(fā)展有幫助”和“平臺(tái)好鍛煉人”等。
10如果被錄用,你將如何開(kāi)展工作?
這個(gè)問(wèn)題主要是想了解面試者的工作能力及計(jì)劃性、條理性,而且重點(diǎn)想要了解細(xì)節(jié)。如果說(shuō)空話的迂回戰(zhàn)術(shù),會(huì)讓面試官覺(jué)得你其實(shí)對(duì)這份工作沒(méi)有任何實(shí)操性,只是夸夸奇譚不落地。如果是就其一點(diǎn)展開(kāi),會(huì)讓面試官覺(jué)得你對(duì)待工作思考地不夠全面,所以一定要在回答之前在心中想好1、2、3、4等方面,然后再分別展開(kāi)來(lái)講。
【java招聘面試常見(jiàn)問(wèn)題】相關(guān)文章:
面試常見(jiàn)問(wèn)題11-04
招聘面試十大常見(jiàn)問(wèn)題 專(zhuān)家指導(dǎo)如何巧妙應(yīng)答07-31
面試常見(jiàn)問(wèn)題技巧08-03
壓力面試常見(jiàn)問(wèn)題12-12
兒科面試常見(jiàn)問(wèn)題08-27
旅行面試常見(jiàn)問(wèn)題11-14
中行面試的常見(jiàn)問(wèn)題07-29