更新時(shí)間:2019-12-02 15:38:59 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2930次
黃金跳槽季,不光是很多在職人員躍躍欲試,也有很多大學(xué)生積極地加入到應(yīng)聘行列。作為技術(shù)出身的我們,找工作的一大前提就是技術(shù)是否能過(guò)關(guān)。而對(duì)于Java程序員來(lái)說(shuō),至少是兩關(guān)的面試,這首個(gè)關(guān)卡就是筆試,今天動(dòng)力節(jié)點(diǎn)Java培訓(xùn)老師總結(jié)了一些關(guān)于Java的面試題,希望能幫助到正在求職的你!
1、Java的數(shù)據(jù)結(jié)構(gòu)你用過(guò)哪些?map與set的本質(zhì)區(qū)別是什么
數(shù)據(jù)結(jié)構(gòu):是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。
依據(jù)邏輯關(guān)系,數(shù)據(jù)結(jié)構(gòu)分為:線性和非線性數(shù)據(jù)結(jié)構(gòu)。
2、Map與Set的本質(zhì)區(qū)別是什么?
Set不能包含重復(fù)的元素,zui多有一個(gè)空值,繼承自Collection接口,底層是Map實(shí)現(xiàn)機(jī)制。Map不能包含重復(fù)的鍵,每個(gè)鍵zui多對(duì)應(yīng)一個(gè)映射的值,不能有空值鍵。兩接口提供的方法不完全一樣。
3、Java常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)有哪些?
Java常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)有Collection和Map,其中Collection接口下包括List和Set接口,其下又有多個(gè)實(shí)現(xiàn)類(lèi)如List下有ArrayList、LinkedList和Vector等實(shí)現(xiàn)類(lèi),Set下有HashSet、LinkedSet等實(shí)現(xiàn)類(lèi)和SortedSet接口,HashSet下有LinkedHashSet子類(lèi),SortedSet接口下有TreeSet實(shí)現(xiàn)類(lèi)。Map接口下有HashMap(有LinkedHashMap子類(lèi))、HashTable(有Properties子類(lèi))實(shí)現(xiàn)類(lèi)和SortedMap接口(有TreeMap實(shí)現(xiàn)類(lèi))。
Java的數(shù)據(jù)結(jié)構(gòu)主要有List、Set、Map、ArrayList、HashSet、HashMap、Properties等。
4、Java中的Annotation的工作原理是什么
一個(gè)annotation類(lèi)型被定義為runtimeretention后,它才是在運(yùn)行時(shí)可見(jiàn),當(dāng)class文件被裝載時(shí)被保存在class文件中的annotation才會(huì)被虛擬機(jī)讀取。
Annotation提供一種機(jī)制,將程序的元素如:類(lèi),方法,屬性,參數(shù),本地變量,包和元數(shù)據(jù)聯(lián)系起來(lái)。這樣編譯器可以將元數(shù)據(jù)存儲(chǔ)在Class文件中。這樣虛擬機(jī)和其它對(duì)象可以根據(jù)這些元數(shù)據(jù)來(lái)決定如何使用這些程序元素或改變它們的行為。
5、分層架構(gòu)中,Dao層的作用是什么?如果不要Dao層,能不能實(shí)現(xiàn)Dao層時(shí)的優(yōu)點(diǎn)
Dao層又叫數(shù)據(jù)訪問(wèn)對(duì)象層,封裝數(shù)據(jù)庫(kù)的底層操作細(xì)節(jié)如數(shù)據(jù)庫(kù)的連接及對(duì)數(shù)據(jù)的CRUD等操作,它不但屏蔽了數(shù)據(jù)存儲(chǔ)最終介質(zhì)的不同,也屏蔽了具體實(shí)現(xiàn)技術(shù)的不同。一般在其上還會(huì)有Service層來(lái)封裝業(yè)務(wù)操作進(jìn)行進(jìn)一步的解耦。不用DAO層也能實(shí)現(xiàn)Dao層時(shí)的優(yōu)點(diǎn)如自己封裝一個(gè)類(lèi)似Dao層功能的數(shù)據(jù)庫(kù)操作模板類(lèi),可參考Spring的DAO層思想。
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“經(jīng)典Java面試題集錦”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)推薦
最新最全java面試題及答案(初級(jí)到高級(jí))
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743