18禁网站免费,成年人黄色视频网站,熟妇高潮一区二区在线播放,国产精品高潮呻吟AV

學(xué)習(xí)啦 > 創(chuàng)業(yè)指南 > 職場 > 面試題 > java實(shí)習(xí)生的有關(guān)面試題

java實(shí)習(xí)生的有關(guān)面試題

時(shí)間: 護(hù)托1061 分享

java實(shí)習(xí)生的有關(guān)面試題

  Java常見的數(shù)據(jù)結(jié)構(gòu)有Collection和Map,其中Collection接口下包括List和Set接口,下面就由學(xué)習(xí)啦小編為大家介紹一下java實(shí)習(xí)生的有關(guān)面試題的文章,歡迎閱讀。

  java實(shí)習(xí)生的有關(guān)面試題篇1

  java的數(shù)據(jù)結(jié)構(gòu)你用過那些?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)。

  java中常見的數(shù)據(jù)結(jié)構(gòu)有:

  (1)數(shù)組

  (2)集合類——Collection(list(ArrayList,LinkedList),set(HashSet))

  List 是鏈表(接口),是可以允許出現(xiàn)重復(fù)值的。它的具體實(shí)現(xiàn)類:ArrayList和LinkedList

  set 是集合(接口),不允許出現(xiàn)重復(fù)值。它的具體實(shí)現(xiàn)類HashMap

  ArrayList 實(shí)現(xiàn)鏈表的內(nèi)部結(jié)構(gòu)是用數(shù)組(Array)。查找高效,修改低效

  LinkedList 實(shí)現(xiàn)鏈表的內(nèi)部結(jié)構(gòu)是鏈表(Linked)。查找低效,修改高效

  set是集合(接口),不允許出現(xiàn)重復(fù)值

  Iterator迭代器

  簡介:java提供的迭代器接口進(jìn)行java collection的遍歷。Iterator模式是用于遍歷類的標(biāo)準(zhǔn)訪問方法

  所有的繼承Coollection的集合類子類,都有Iterator()方法用于反饋迭代器,程序額可以獲取這個(gè)迭代器對(duì)象對(duì)Collection對(duì)象中的元素進(jìn)行遍歷。

  (3)鍵值對(duì)容器 ——Map

  Map是一種把鍵對(duì)象和值對(duì)象進(jìn)行關(guān)聯(lián)的容器

  指出:像set一樣,一個(gè)Map容器中的鍵對(duì)象不允許重復(fù),這是為了保證查找結(jié)果的一致性。

  Map與Set的區(qū)別

  Map是用來存放鍵值對(duì)的,需要轉(zhuǎn)成set由迭代器進(jìn)行遍歷!(加強(qiáng)for循環(huán)除外)

  Map m=new Map();

  Set s=m.keySet()

  Set是無序而且不可用重復(fù)的!

  java實(shí)習(xí)生的有關(guān)面試題篇2

  Map與Set的本質(zhì)區(qū)別有:Set不能包含重復(fù)的元素,最多有一個(gè)空值,繼承自Collection接口,底層是Map實(shí)現(xiàn)機(jī)制。Map不能包含重復(fù)的鍵,每個(gè)鍵最多對(duì)應(yīng)一個(gè)映射的值,不能有空值鍵。兩接口提供的方法不完全一樣。

  Java常見的數(shù)據(jù)結(jié)構(gòu)有Collection和Map,其中Collection接口下包括List和Set接口,其下又有多個(gè)實(shí)現(xiàn)類如List下有ArrayList、LinkedList和Vector等實(shí)現(xiàn)類,Set下有HashSet、LinkedSet等實(shí)現(xiàn)類和SortedSet接口,HashSet下有LinkedHashSet子類,SortedSet接口下有TreeSet實(shí)現(xiàn)類。Map接口下有HashMap(有LinkedHashMap子類)、HashTable(有Properties子類)實(shí)現(xiàn)類和SortedMap接口(有TreeMap實(shí)現(xiàn)類)。

  JAVA的數(shù)據(jù)結(jié)構(gòu)主要有List、Set、Map、ArrayList、HashSet、HashMap、Properties等。

  Spring整合ORM框架時(shí),事務(wù)管理用哪些類?是Spring控制事物的提交還是ORM框架控制?同一事物中執(zhí)行兩個(gè)更新操作,它的工作原理是怎么樣的

  Spring整合ORM框架時(shí)事務(wù)管理用的是相應(yīng)ORM框架的事務(wù)管理器類如Hibernate對(duì)應(yīng)于 HibernateTransactionManager,JPA對(duì)應(yīng)于JpaTransactionManager等。

  整合過后可配置由Spring控制事務(wù)的提交。

  事務(wù)提交前執(zhí)行兩個(gè)更新操作。其工作原理是采用AOP編程的原理來進(jìn)行控制。

  Spring整合ORM框架時(shí)事務(wù)管理用的是相應(yīng)ORM框架的事務(wù)管理器類如Hibernate對(duì)應(yīng)于HibernateTransactionManager,JPA對(duì)應(yīng)于JpaTransactionManager等。整合過后可配置由Spring控制事務(wù)的提交。事務(wù)提交前執(zhí)行兩個(gè)更新操作。其工作原理是采用AOP編程的原理來進(jìn)行控制。

  Http協(xié)議你了解嗎?文件上傳時(shí),進(jìn)度條的設(shè)計(jì)原理是什么

  超文本傳送協(xié)議 (hypertext transport protocol)

  一種詳細(xì)規(guī)定了瀏覽器和萬維網(wǎng)服務(wù)器之間互相通信的規(guī)則,通過因特網(wǎng)傳送萬維網(wǎng)文檔的數(shù)據(jù)傳送協(xié)議。

  HTTP工作在TCP/IP協(xié)議體系中的TCP協(xié)議上。

  客戶機(jī)和服務(wù)器必須都支持 HTTP,才能在萬維網(wǎng)上發(fā)送和接收 HTML 文檔并進(jìn)行交互。

  HTTP是一個(gè)屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。

  HTTP主要特點(diǎn):簡單快速 靈活 無連接 無狀態(tài)

  一般來說,上傳也好,下載也好,都要用到JavaI/O。 而計(jì)算進(jìn)度的原理,不就是已經(jīng)傳輸?shù)拇笮∨c總大小的比值嘛。 這樣就簡單了,就拿最基本的OutputStream來說,它的基本的寫出方法為 void write(byte[] b) ,實(shí)際上寫出的過程不就是通過InputStream循環(huán)讀,然后OutputStream循環(huán)寫嘛。 你只要事先通過File類取得文件的總大小,然后在讀入或?qū)懗龅难h(huán)里加一個(gè)簡單的進(jìn)度計(jì)算的步驟,每讀取或?qū)懗鲆淮危蛯⒁褌鬏敶笮≡黾觔.length,求出比值,更新進(jìn)度條。具體的計(jì)算間隔,可以根據(jù)循環(huán)次數(shù)或時(shí)間間隔來定。 編碼上,估計(jì)要用到I/O流,F(xiàn)ile,Socket以及Thread。 因?yàn)槟闶鞘褂胒ileupload插件,所以最好查看一下它的實(shí)現(xiàn)代碼,已決定如何將進(jìn)度功能加入其中。

  Http協(xié)議即超文本傳輸協(xié)議,屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議。它支持客戶/服務(wù)器模式,簡單快速、靈活、無連接和無狀態(tài)。http請(qǐng)求由請(qǐng)求行、消息報(bào)頭、請(qǐng)求正文組成,http響應(yīng)由狀態(tài)行、消息報(bào)頭和響應(yīng)正文組成。

  文件上傳時(shí)進(jìn)度條的設(shè)計(jì)原理:在java中主要用到I/O原理,已上傳的數(shù)據(jù)值除以文件總大小的比值即實(shí)時(shí)進(jìn)度的值。通過File類獲取文件的總大小,在讀取或?qū)懗鑫募r(shí)加一個(gè)進(jìn)度計(jì)算的步驟,每讀取或?qū)懗鲆淮尉陀?jì)算進(jìn)度值,更新進(jìn)度條。

  查詢一個(gè)字段值有重復(fù)的表,要去除重復(fù)項(xiàng),SQL語句怎么寫

  select distinct xx,xx,xx from xxx

  java中的Annotation的工作原理是什么

  一個(gè) annotation類型被定義為runtime retention后,它才是在運(yùn)行時(shí)可見,當(dāng)class文件被裝載時(shí)被保存在class文件中的annotation才會(huì)被虛擬機(jī)讀取

  Annotation提供一種機(jī)制,將程序的元素如:類,方法,屬性,參數(shù),本地變量,包和元數(shù)據(jù)聯(lián)系起來。這樣編譯器可以將元數(shù)據(jù)存儲(chǔ)在Class文件中。這樣虛擬機(jī)和其它對(duì)象可以根據(jù)這些元數(shù)據(jù)來決定如何使用這些程序元素或改變它們的行為。

  分層架構(gòu)中,Dao層的作用是什么?如果不要DAo層,能不能實(shí)現(xiàn)DAO層時(shí)的優(yōu)點(diǎn)

  Dao層又叫數(shù)據(jù)訪問對(duì)象層, 封裝數(shù)據(jù)庫的底層操作細(xì)節(jié)如數(shù)據(jù)庫的連接及對(duì)數(shù)據(jù)的CRUD等操作,它不但屏蔽了數(shù)據(jù)存儲(chǔ)最終介質(zhì)的不同,也屏蔽了具體實(shí)現(xiàn)技術(shù)的不同。一般在其上還會(huì)有Service層來封裝業(yè)務(wù)操作進(jìn)行進(jìn)一步的解耦。不用DAO層也能實(shí)現(xiàn)Dao層時(shí)的優(yōu)點(diǎn)如自己封裝一個(gè)類似Dao層功能的數(shù)據(jù)庫操作模板類,可參考Spring的DAO層思想

  HibernateDaoSupport,ActionSupport等類中所指的Support,是不是一種設(shè)計(jì)模式?若是,那說說你對(duì)這種感設(shè)計(jì)模式的理解

  它們用到了IoC和工廠模式,即依賴注入,將程序代碼中依賴對(duì)象的管理交由相應(yīng)的容器去管理如在配置文件中進(jìn)行注入配置

  對(duì)數(shù)據(jù)庫的存儲(chǔ)的存儲(chǔ)過程熟悉嗎?對(duì)css熟悉嗎

  層疊樣式表(Cascading Style Sheet)簡稱“CSS”,通常又稱為“風(fēng)格樣式表(Style Sheet)”,它是用來進(jìn)行網(wǎng)頁風(fēng)格設(shè)計(jì)的。它是一種用來表現(xiàn)HTML或 XML 等文件式樣的計(jì)算機(jī)語言。

  相對(duì)于傳統(tǒng)HTML的表現(xiàn)而言,CSS能夠?qū)W(wǎng)頁中的對(duì)象的位置排版進(jìn)行像素級(jí)的精確控制,支持幾乎所有的字體字號(hào)樣式,擁有對(duì)網(wǎng)頁對(duì)象盒模型的能力,并能夠進(jìn)行初步交互設(shè)計(jì),是目前基于文本展示最優(yōu)秀的表現(xiàn)設(shè)計(jì)語言。

  在網(wǎng)頁上使用樣式表有三種方法可以在站點(diǎn)網(wǎng)頁上使用樣式表:

  將網(wǎng)頁鏈接到外部樣式表。

  在網(wǎng)頁上創(chuàng)建嵌入的樣式表。

  應(yīng)用內(nèi)嵌樣式到各個(gè)網(wǎng)頁元素。

  每一種方法均有其優(yōu)缺點(diǎn):

  當(dāng)要在站點(diǎn)上所有或部份的網(wǎng)頁上一致地應(yīng)用相同樣式時(shí),可使用外部樣式表。在一個(gè)或多個(gè)外部樣式表中定義樣式,并將它們鏈接到所有網(wǎng)頁,便能確保所有網(wǎng)頁外觀的一致性。

  當(dāng)人們只是要定義當(dāng)前網(wǎng)頁的樣式,可使用嵌入的樣式表。嵌入的樣式表是一種級(jí)聯(lián)樣式表,“嵌”在網(wǎng)頁的 標(biāo)記符內(nèi)。嵌入的樣式表中的樣式只能在同一網(wǎng)頁上使用。

  使用內(nèi)嵌樣式以應(yīng)用級(jí)聯(lián)樣式表屬性到網(wǎng)頁元素上。

  如果網(wǎng)頁鏈接到外部樣式表,為網(wǎng)頁所創(chuàng)建的內(nèi)嵌的或嵌入式樣式將擴(kuò)充或覆蓋外部樣式表中的指定屬性。

  java實(shí)習(xí)生的有關(guān)面試題篇3

  說說Struts2的工作原理

  一個(gè)請(qǐng)求在Struts2框架中的處理分為以下幾個(gè)步驟:

  1.客戶端發(fā)出一個(gè)指向servlet容器的請(qǐng)求(tomcat);

  2.這個(gè)請(qǐng)求會(huì)經(jīng)過圖中的幾個(gè)過濾器,最后會(huì)到達(dá)FilterDispatcher過濾器

  3.過濾器FilterDispatcher是struts2框架的心臟,在處理用戶請(qǐng)求時(shí),它和請(qǐng)求一起相互配合訪問struts2

  的底層框架結(jié)構(gòu)。在web容器啟動(dòng)時(shí),struts2框架會(huì)自動(dòng)加載配置文件里相關(guān)參數(shù),并轉(zhuǎn)換成相應(yīng)的類。

  4.如果找到需要調(diào)用的Action,過濾器會(huì)把請(qǐng)求的處理交給ActionProxy。ActionProxy為Action的代理對(duì)象

  。ActionProxy通過ConfigurationManager詢問框架的配置文件,找到需要調(diào)用的Action類。

  5.ActionProxy創(chuàng)建一個(gè)ActionInvocation的實(shí)例。ActionInvocation在ActionProxy層之下,它表示了

  Action的執(zhí)行狀態(tài),或者說它控制的Action的執(zhí)行步驟。它持有Action實(shí)例和所有的Interceptor。

  6.ActionInvocation實(shí)例使用命名模式來調(diào)用,1. ActionInvocation初始化時(shí),根據(jù)配置,加載Action相

  關(guān)的所有Interceptor。2. 通過ActionInvocation.invoke方法調(diào)用Action實(shí)現(xiàn)時(shí),執(zhí)行Interceptor。在

  調(diào)用Action的過程前后,涉及到相關(guān)攔截器(intercepetor)的調(diào)用。

  7. 一旦Action執(zhí)行完畢,ActionInvocation負(fù)責(zé)根據(jù)struts.xml中的配置找到對(duì)應(yīng)的返回結(jié)果。返回結(jié)果

  通常是(但不總是,也可能是另外的一個(gè)Action鏈)一個(gè)需要被表示的JSP或者FreeMarker的模版。

  怎樣實(shí)現(xiàn)分頁顯示的?具體原理怎么樣?Hibernate的setMaxResults和setFirstResult內(nèi)部是怎么實(shí)現(xiàn)分頁查詢的?

  實(shí)現(xiàn)一個(gè)分頁組件,可自實(shí)現(xiàn)或借用相應(yīng)框架的實(shí)現(xiàn)。原理是求出所查數(shù)據(jù)總記錄數(shù),設(shè)置每頁要顯示的記錄數(shù),然后計(jì)算每頁要顯示的第一條記錄數(shù),根據(jù)每頁要顯示的記錄數(shù)和總記錄數(shù)來求出頁數(shù)等。

  Hibernate的setMaxResults和setFirstResult內(nèi)部是通過SQL語句來實(shí)現(xiàn)分頁查詢的,

  Hibernate框架的設(shè)計(jì)有什么不好的地方

  XML配置麻煩、映射文件可能過于冗余、查詢慢、對(duì)海量數(shù)據(jù)無能為力、太對(duì)象化限制了查詢、級(jí)聯(lián)關(guān)系也影響查詢速度等。 當(dāng)然,最新版本的Hibernate采用EJB3注解的方式,大大的提高了它的應(yīng)用效率。

  你是怎么樣實(shí)現(xiàn)分頁顯示的?具體原理怎么樣?Hibernate的setMesResults和setFirsResult內(nèi)部是怎么實(shí)現(xiàn)分布查詢的

  Struts,Hibernate,Spring等框架,你最熟悉哪個(gè)?有沒有讀過它的源代碼?你用過Spring框架的那些功能

  學(xué)習(xí)JSF,Richface,JBoss Seam,JBPM該按什么順序,步驟去學(xué)習(xí)?

  先需要學(xué)習(xí)JAVA EE 相關(guān)技術(shù),如JSF2,EJB3,學(xué)完這些技術(shù)后,就可以學(xué)習(xí)Seam技術(shù)和Richface.

3152686