java面試會(huì)問(wèn)些什么
java面試會(huì)問(wèn)些什么
進(jìn)入一線互聯(lián)網(wǎng)公司是很多程序員的夢(mèng)想,但是很多人好不容易有機(jī)會(huì)面試卻遺憾以失敗告終,大公司的面試題目真的有那么難嗎?一起來(lái)看看關(guān)于java面試會(huì)問(wèn)些什么吧。下面是學(xué)習(xí)啦小編給大家整理的java面試會(huì)問(wèn)些什么,供大家參閱!
java面試會(huì)問(wèn)些什么
接口:Collection
中所周知,Collection是最基本的集合接口,一個(gè)Collection代表一組Object,也就是Collection的元素(Elements)。有的Collection允許相同的元素但有些卻做不到,同理于一部分能排序有些部分卻不支持。Java SDK提供的類(lèi)都是繼承自Collection的“子接口”,例如List和Set,但是不提供直接繼承自Collection的類(lèi)。
用Iterator模式實(shí)現(xiàn)遍歷集合
Collection有一個(gè)很重要的方法:iterator,返回一個(gè)Iterator(迭代器),用于遍歷集合的所有元素。Iterator模式能夠把訪問(wèn)邏輯從不同的集合類(lèi)中抽象出來(lái),以達(dá)到避免向客戶(hù)端暴露集合的內(nèi)部結(jié)構(gòu)的目的。比較典型的用法就是:
Iterator it = collection.iterator; // 獲得一個(gè)迭代器
while(it.hasNext) {Object obj = it.next; // 得到下一個(gè)元素}
另外,由Collection接口衍生出來(lái)的兩個(gè)接口是List和Set。
List接口
List屬于有序的Collection,通過(guò)這個(gè)接口可以精確的控制每個(gè)元素插入的位置。用戶(hù)可以通過(guò)索引來(lái)訪問(wèn)List中的元素,這就類(lèi)似于Java的數(shù)組。接下來(lái)我們還會(huì)提及set,二者不一樣的地方就在于,List是允許有相同元素的。
除此之外不得不提,List還提供了另外一個(gè)listIterator方法,返回一個(gè)ListIterator接口,跟標(biāo)準(zhǔn)的Iterator接口相比,ListIterator多了一些add之類(lèi)的方法,并且能夠添加、刪除、設(shè)定元素,并且可以向前或者向后遍歷。
另外不得不提的就是,實(shí)現(xiàn)List接口的常用類(lèi)有LinkedList、ArrayList、Vector、Stack等等。
Set接口
Set是一種不包含重復(fù)的元素的Collection,也就是說(shuō)任意的兩個(gè)元素e1和e2都有e1.equals(e2)=false,Set最多有一個(gè)null元素。顯然,Set的構(gòu)造函數(shù)是有約束條件的,傳入的Collection參數(shù)不能包含重復(fù)的元素。
另外需要重點(diǎn)強(qiáng)調(diào)的就是:一定要小心操作可變對(duì)象(Mutable Object)。如果說(shuō)一個(gè)Set中的可變?cè)馗淖兞俗陨頎顟B(tài)導(dǎo)致Object.equals(Object)=true可能會(huì)導(dǎo)致某些問(wèn)題出現(xiàn)。
關(guān)于Java集合類(lèi)的問(wèn)題和重要知識(shí)點(diǎn)還有很多,不僅僅是理論上的,還有很多實(shí)際操作中的經(jīng)驗(yàn)問(wèn)題,這些對(duì)于面試都是十分重要的。由于時(shí)間和篇幅的限制,小編就先為大家總結(jié)到這里,接下來(lái)小編還會(huì)為大家持續(xù)推送Java集合類(lèi)的問(wèn)題和知識(shí)點(diǎn),助力新年面試新工作拿到心儀offer。
學(xué)習(xí)Java能做些什么
1、企業(yè)級(jí)應(yīng)用開(kāi)發(fā)
這里是Java的天地,大到全國(guó)聯(lián)網(wǎng)的系統(tǒng),小到中小企業(yè)的應(yīng)用解決方案,Java都占有極為重要的地位
2、網(wǎng)站開(kāi)發(fā)
當(dāng)然就是JSP+Servlet+JavaBean,一直以來(lái)都相當(dāng)流行
3、移動(dòng)領(lǐng)域
典型的應(yīng)用是手機(jī)游戲(國(guó)內(nèi)主要是這方面),這里是J2ME的天地,其實(shí)應(yīng)用范圍是很廣的,只是國(guó)內(nèi)開(kāi)發(fā)不夠。
Java已成為當(dāng)今市面上最受歡迎的編程軟件,對(duì)于處于信息高速發(fā)達(dá)的今天,Java技術(shù)已經(jīng)無(wú)處不在,手機(jī)軟件、手機(jī)Java游戲、電腦軟件等等??梢赃@樣說(shuō),只要你使用手機(jī)、電腦等電子產(chǎn)品,你就會(huì)用到跟Java有關(guān)的東西。由此可見(jiàn),對(duì)于我們這些將要面臨巨大就業(yè)壓力的在校大學(xué)生來(lái)說(shuō),掌握這樣一款最流行的編程語(yǔ)言是多么重要。不管你以后是從事硬件還是軟件的開(kāi)發(fā),面試官的第一個(gè)問(wèn)題就是“你會(huì)不會(huì)使用Java語(yǔ)言編程?”
同樣,如果掌握了Java這門(mén)技術(shù),就業(yè)面也是很廣的,不管是電腦方面的軟硬件開(kāi)發(fā)還是手機(jī)的軟硬件開(kāi)發(fā)Java都是必不可少的技術(shù),只要是想從事IT方面的工作,必須掌握J(rèn)ava。
java面試會(huì)問(wèn)些什么相關(guān)文章: