久久影视这里只有精品国产,激情五月婷婷在线,久久免费视频二区,最新99国产小视频

        • 回答數(shù)

          7

        • 瀏覽數(shù)

          336

        晃晃悠兒
        首頁 > 工程師考試 > java軟件工程師面試題

        7個回答 默認(rèn)排序
        • 默認(rèn)排序
        • 按時間排序

        小可愛mmd22

        已采納

        首先都是問工作經(jīng)歷,上一家公司的工作情況(應(yīng)屆生會問些學(xué)校表現(xiàn)、畢業(yè)設(shè)計之類的)。然后問些技術(shù)問題,JAVA基礎(chǔ)的概念,線程、并發(fā)、網(wǎng)絡(luò)、文件操作、數(shù)據(jù)庫操作之類等等?,F(xiàn)在JAVA都是WEB方向,所以還會問些WEB方面的問題,前端、服務(wù)器之類。還會問一些框架方面的問題,spring,springMVC,struts,hibernate,mybatis之類的。

        java軟件工程師面試題

        171 評論(14)

        小茉莉0906

        面試題?不是筆試題?面試的時候問的問題都不一樣的,筆試的題倒是差不多!

        95 評論(8)

        嘉嘉麻麻8866

        java軟件工程師面試題集 EJB方面 1、有哪些內(nèi)容?分別用在什么場合? 和的區(qū)別? 答:規(guī)范內(nèi)容包括Bean提供者,應(yīng)用程序裝配者,EJB容器,EJB配置工具,EJB服務(wù)提供者,系統(tǒng)管理員。這里面,EJB容器是EJB之所以能夠運行的核心。EJB容器管理著EJB的創(chuàng)建,撤消,激活,去活,與數(shù)據(jù)庫的連接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS..... 2、EJB與JAVA BEAN的區(qū)別? 答:Java Bean 是可復(fù)用的組件,對Java Bean并沒有嚴(yán)格的規(guī)范,理論上講,任何一個Java類都可以是一個Bean。但通常情況下,由于Java Bean是被容器所創(chuàng)建(如Tomcat)的,所以Java Bean應(yīng)具有一個無參的構(gòu)造器,另外,通常Java Bean還要實現(xiàn)Serializable接口用于實現(xiàn)Bean的持久性。Java Bean實際上相當(dāng)于微軟COM模型中的本地進程內(nèi)COM組件,它是不能被跨進程訪問的。Enterprise Java Bean 相當(dāng)于DCOM,即分布式組件。它是基于Java的遠(yuǎn)程方法調(diào)用(RMI)技術(shù)的,所以EJB可以被遠(yuǎn)程訪問(跨進程、跨計算機)。但EJB必須被布署在諸如Webspere、WebLogic這樣的容器中,EJB客戶從不直接訪問真正的EJB組件,而是通過其容器訪問。EJB容器是EJB組件的代理,EJB組件由容器所創(chuàng)建和管理。客戶通過容器來訪問真正的EJB組件。 3、EJB的基本架構(gòu) 答:一個EJB包括三個部分: Remote Interface 接口的代碼 package Beans; import ; import ; public interface Add extends EJBObject { //some method declare } Home Interface 接口的代碼 package Beans; import ; import ; import ; public interface AddHome extends EJBHome { //some method declare } EJB類的代碼 package Beans; import ; import ; import ; public class AddBean Implements SessionBean { //some method declare } J2EE,MVC方面 1、MVC的各個部分都有那些技術(shù)來實現(xiàn)?如何實現(xiàn)? 答:MVC是Model-View-Controller的簡寫。"Model" 代表的是應(yīng)用的業(yè)務(wù)邏輯(通過JavaBean,EJB組件實現(xiàn)), "View" 是應(yīng)用的表示面(由JSP頁面產(chǎn)生),"Controller" 是提供應(yīng)用的處理過程控制(一般是一個Servlet),通過這種設(shè)計模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進行交互和重用。 2、應(yīng)用服務(wù)器與WEB SERVER的區(qū)別? 希望大家補上,謝謝 3、J2EE是什么? 答:Je22是Sun公司提出的多層(multi-diered),分布式(distributed),基于組件(component-base)的企業(yè)級應(yīng)用模型(enterpriese application model).在這樣的一個應(yīng)用系統(tǒng)中,可按照功能劃分為不同的組件,這些組件又可在不同計算機上,并且處于相應(yīng)的層次(tier)中。所屬層次包括客戶層(clietn tier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。 4、WEB SERVICE名詞解釋。JSWDL開發(fā)包的介紹。JAXP、JAXM的解釋。SOAP、UDDI,WSDL解釋。 答:Web Service描述語言WSDL SOAP即簡單對象訪問協(xié)議(Simple Object Access Protocol),它是用于交換XML編碼信息的輕量級協(xié)議。 UDDI 的目的是為電子商務(wù)建立標(biāo)準(zhǔn);UDDI是一套基于Web的、分布式的、為Web Service提供的、信息注冊中心的實現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時也包含一組使企業(yè)能將自身提供的Web Service注冊,以使別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實現(xiàn)標(biāo)準(zhǔn)。 5、BS與CS的聯(lián)系與區(qū)別。 希望大家補上,謝謝 6、STRUTS的應(yīng)用(如STRUTS架構(gòu)) 答:Struts是采用Java Servlet/JavaServer Pages技術(shù),開發(fā)Web應(yīng)用程序的開放源碼的framework。 采用Struts能開發(fā)出基于MVC(Model-View-Controller)設(shè)計模式的應(yīng)用構(gòu)架。 Struts有如下的主要功能: 一.包含一個controller servlet,能將用戶的請求發(fā)送到相應(yīng)的Action對象。 二.JSP自由tag庫,并且在controller servlet中提供關(guān)聯(lián)支持,幫助開發(fā)員創(chuàng)建交互式表單應(yīng)用。 三.提供了一系列實用對象:XML處理、通過Java reflection APIs自動處理JavaBeans屬性、國際化的提示和消息。 設(shè)計模式方面 1、開發(fā)中都用到了那些設(shè)計模式?用在什么場合? 答:每個模式都描述了一個在我們的環(huán)境中不斷出現(xiàn)的問題,然后描述了該問題的解決方案的核心。通過這種方式,你可以無數(shù)次地使用那些已有的解決方案,無需在重復(fù)相同的工作。主要用到了MVC的設(shè)計模式。用來開發(fā)JSP/Servlet或者J2EE的相關(guān)應(yīng)用。簡單工廠模式等。 2、UML方面 答:標(biāo)準(zhǔn)建模語言UML。用例圖,靜態(tài)圖(包括類圖、對象圖和包圖),行為圖,交互圖(順序圖,合作圖),實現(xiàn)圖, JavaScript方面 1、如何校驗數(shù)字型? var re=/^d{1,8}$|.d{1,2}$/; var str=(i).value; var r=(re); if (r==null) { sign=-4; break; } else{ (i).value=parseFloat(str); } CORBA方面 1、CORBA是什么?用途是什么? 答:CORBA 標(biāo)準(zhǔn)是公共對象請求代理結(jié)構(gòu)(Common Object Request Broker Architecture),由對象管理組織 (Object Management Group,縮寫為 OMG)標(biāo)準(zhǔn)化。它的組成是接口定義語言(IDL), 語言綁定(binding:也譯為聯(lián)編)和允許應(yīng)用程序間互操作的協(xié)議。 其目的為: 用不同的程序設(shè)計語言書寫 在不同的進程中運行 為不同的操作系統(tǒng)開發(fā) LINUX方面 1、LINUX下線程,GDI類的解釋。 答:LINUX實現(xiàn)的就是基于核心輕量級進程的"一對一"線程模型,一個線程實體對應(yīng)一個核心輕量級進程,而線程之間的管理在核外函數(shù)庫中實現(xiàn)。 GDI類為圖像設(shè)備編程接口類庫。 1、面向?qū)ο蟮娜齻€基本特征 2、方法重載和方法重寫的概念和區(qū)別 3、接口和內(nèi)部類、抽象類的特性 4、文件讀寫的基本類 **5、串行化的注意事項以及如何實現(xiàn)串行化 6、線程的基本概念、線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系 7、線程的同步、如何實現(xiàn)線程的同步 8、幾種常用的數(shù)據(jù)結(jié)構(gòu)及內(nèi)部實現(xiàn)原理。 9、Socket通信(TCP、UDP區(qū)別及Java實現(xiàn)方式) **10、Java的事件委托機制和垃圾回收機制 11、JDBC調(diào)用數(shù)據(jù)庫的基本步驟 **12、解析XML文件的幾種方式和區(qū)別 13、Java四種基本權(quán)限的定義 14、Java的國際化 二、JSP 1、至少要能說出7個隱含對象以及他們的區(qū)別 ** 2、forward 和redirect的區(qū)別 3、JSP的常用指令 三、servlet 1、什么情況下調(diào)用doGet()和doPost()? 2、servlet的init()方法和service()方法的區(qū)別 3、servlet的生命周期 4、如何現(xiàn)實servlet的單線程模式 5、servlet的配置 6、四種會話跟蹤技術(shù) 四、EJB **1、EJB容器提供的服務(wù) 主要提供聲明周期管理、代碼產(chǎn)生、持續(xù)性管理、安全、事務(wù)管理、鎖和并發(fā)行管理等服務(wù)。 2、EJB的角色和三個對象 EJB角色主要包括Bean開發(fā)者 應(yīng)用組裝者 部署者 系統(tǒng)管理員 EJB容器提供者 EJB服務(wù)器提供者 三個對象是Remote(Local)接口、Home(LocalHome)接口,Bean類 2、EJB的幾種類型 會話(Session)Bean ,實體(Entity)Bean 消息驅(qū)動的(Message Driven)Bean 會話Bean又可分為有狀態(tài)(Stateful)和無狀態(tài)(Stateless)兩種 實體Bean可分為Bean管理的持續(xù)性(BMP)和容器管理的持續(xù)性(CMP)兩種 3、bean 實例的生命周期 對于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在緩沖池管理,而對于Entity Bean和Statefull Session Bean存在Cache管理,通常包含創(chuàng)建實例,設(shè)置上下文、創(chuàng)建EJB Object(create)、業(yè)務(wù)方法調(diào)用、remove等過程,對于存在緩沖池管理的Bean,在create之后實例并不從內(nèi)存清除,而是采用緩沖池調(diào)度機制不斷重用實例,而對于存在Cache管理的Bean則通過激活和去激活機制保持Bean的狀態(tài)并限制內(nèi)存中實例數(shù)量。 4、激活機制 以Statefull Session Bean 為例:其Cache大小決定了內(nèi)存中可以同時存在的Bean實例的數(shù)量,根據(jù)MRU或NRU算法,實例在激活和去激活狀態(tài)之間遷移,激活機制是當(dāng)客戶端調(diào)用某個EJB實例業(yè)務(wù)方法時,如果對應(yīng)EJB Object發(fā)現(xiàn)自己沒有綁定對應(yīng)的Bean實例則從其去激活Bean存儲中(通過序列化機制存儲實例)回復(fù)(激活)此實例。狀態(tài)變遷前會調(diào)用對應(yīng)的ejbActive和ejbPassivate方法。 5、remote接口和home接口主要作用 remote接口定義了業(yè)務(wù)方法,用于EJB客戶端調(diào)用業(yè)務(wù)方法 home接口是EJB工廠用于創(chuàng)建和移除查找EJB實例 6、客服端調(diào)用EJB對象的幾個基本步驟 一、 設(shè)置JNDI服務(wù)工廠以及JNDI服務(wù)地址系統(tǒng)屬性 二、 查找Home接口 三、 從Home接口調(diào)用Create方法創(chuàng)建Remote接口 四、 通過Remote接口調(diào)用其業(yè)務(wù)方法 五、數(shù)據(jù)庫 1、存儲過程的編寫 2、基本的SQL語句 六、weblogic 1、 如何給weblogic指定大小的內(nèi)存? 在啟動Weblogic的腳本中(位于所在Domian對應(yīng)服務(wù)器目錄下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以調(diào)整最小內(nèi)存為32M,最大200M 2、 如何設(shè)定的weblogic的熱啟動模式(開發(fā)模式)與產(chǎn)品發(fā)布模式? 可以在管理控制臺中修改對應(yīng)服務(wù)器的啟動模式為開發(fā)或產(chǎn)品模式之一?;蛘咝薷姆?wù)的啟動文件或者commenv文件,增加set PRODUCTION_MODE=true。 3、 如何啟動時不需輸入用戶名與密碼? 修改服務(wù)啟動文件,增加 WLS_USER和WLS_PW項。也可以在文件中增加加密過的用戶名和密碼. 4、 在weblogic管理制臺中對一個應(yīng)用域(或者說是一個網(wǎng)站,Domain)進行jms及ejb或連接池等相關(guān)信息進行配置后,實際保存在什么文件中? 保存在此Domain的文件中,它是服務(wù)器的核心配置文件。 5、 說說weblogic中一個Domain的缺省目錄結(jié)構(gòu)?比如要將一個簡單的放入何目錄下,然的在瀏覽器上就可打入http://主機:端口號//就可以看到運行結(jié)果了? 又比如這其中用到了一個自己寫的javaBean該如何辦? Domain目錄\服務(wù)器目錄\applications,將應(yīng)用目錄放在此目錄下將可以作為應(yīng)用訪問,如果是Web應(yīng)用,應(yīng)用目錄需要滿足Web應(yīng)用目錄要求,jsp文件可以直接放在應(yīng)用目錄中,Javabean需要放在應(yīng)用目錄的WEB-INF目錄的classes目錄中,設(shè)置服務(wù)器的缺省應(yīng)用將可以實現(xiàn)在瀏覽器上無需輸入應(yīng)用名。 6、 如何查看在weblogic中已經(jīng)發(fā)布的EJB? 可以使用管理控制臺,在它的Deployment中可以查看所有已發(fā)布的EJB 7、 如何在weblogic中進行ssl配置與客戶端的認(rèn)證配置或說說j2ee(標(biāo)準(zhǔn))進行ssl的配置 缺省安裝中使用和 KeyStore實現(xiàn)SSL,需要配置服務(wù)器使用Enable SSL,配置其端口,在產(chǎn)品模式下需要從CA獲取私有密鑰和數(shù)字證書,創(chuàng)建identity和trust keystore,裝載獲得的密鑰和數(shù)字證書??梢耘渲么薙SL連接是單向還是雙向的。 8、在weblogic中發(fā)布ejb需涉及到哪些配置文件 不同類型的EJB涉及的配置文件不同,都涉及到的配置文件包括實體Bean一般還需要 9、EJB需直接實現(xiàn)它的業(yè)務(wù)接口或Home接口嗎,請簡述理由. 遠(yuǎn)程接口和Home接口不需要直接實現(xiàn),他們的實現(xiàn)代碼是由服務(wù)器產(chǎn)生的,程序運行中對應(yīng)實現(xiàn)類會作為對應(yīng)接口類型的實例被使用。 10、說說在weblogic中開發(fā)消息Bean時的persistent與non-persisten的差別 persistent方式的MDB可以保證消息傳遞的可靠性,也就是如果EJB容器出現(xiàn)問題而JMS服務(wù)器依然會將消息在此MDB可用的時候發(fā)送過來,而non-persistent方式的消息將被丟棄。 11、說說你所熟悉或聽說過的j2ee中的幾種常用模式?及對設(shè)計模式的一些看法 Session Facade Pattern:使用SessionBean訪問EntityBean Message Facade Pattern:實現(xiàn)異步調(diào)用 EJB Command Pattern:使用Command JavaBeans取代SessionBean,實現(xiàn)輕量級訪問 Data Transfer Object Factory:通過DTO Factory簡化EntityBean數(shù)據(jù)提供特性 Generic Attribute Access:通過AttibuteAccess接口簡化EntityBean數(shù)據(jù)提供特性 Business Interface:通過遠(yuǎn)程(本地)接口和Bean類實現(xiàn)相同接口規(guī)范業(yè)務(wù)邏輯一致性 EJB架構(gòu)的設(shè)計好壞將直接影響系統(tǒng)的性能、可擴展性、可維護性、組件可重用性及開發(fā)效率。項目越復(fù)雜,項目隊伍越龐大則越能體現(xiàn)良好設(shè)計的重要性 from java-cn

        147 評論(10)

        孤星馬哥

        1、說出Servlet 的生命周期,并說出Servlet 和CGI 的區(qū)別?答:Web 容器加載Servlet 并將其實例化后,Servlet 生命周期開始,容器運行其init方法進行Servlet的初始化,請求到達時運行其service 方法,service方法自動派遣運行與請求對應(yīng)的doXXX 方法(doGet,doPost)等,當(dāng)服務(wù)器決定將實例銷毀的時候調(diào)用其destroy方法。與cgi 的區(qū)別在于servlet 處于服務(wù)器進程中,它通過多線程方式運行其service 方法,一個實例可以服務(wù)于多個請求,并且其實例一般不會銷毀,而CGI 對每個請求都產(chǎn)生新的進程,服務(wù)完成后就銷毀,所以效率上低于servlet。2、forward 和redirect 的區(qū)別?答:forward 是容器中控制權(quán)的轉(zhuǎn)向,是服務(wù)器請求資源,服務(wù)器直接訪問目標(biāo)地址的URL,把那個URL 的響應(yīng)內(nèi)容讀取過來,然后把這些內(nèi)容再發(fā)給瀏覽器,瀏覽器根本不知道服務(wù)器發(fā)送的內(nèi)容是從哪兒來的,所以它的地址欄中還是原來的地址。redirect 就是服務(wù)端根據(jù)邏輯,發(fā)送一個狀態(tài)碼,告訴瀏覽器重新去請求那個地址,一般來說瀏覽器會用剛才請求的所有參數(shù)重新請求,所以session,request 參數(shù)都可以獲取,并且從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。前者更加高效,在前者可以滿足需要時,盡量使用forward()方法,并且,這樣也有助于隱藏實際的鏈接;在有些情況下,比如,需要跳轉(zhuǎn)到一個其它服務(wù)器上的資源,則必須使用sendRedirect()方法。3、JSP 中動態(tài)INCLUDE 與靜態(tài)INCLUDE 的區(qū)別?答:動態(tài)INCLUDE 用jsp:include 動作實現(xiàn)它總是會檢查所含文件中的變化,適合用于包含動態(tài)頁面,并且可以帶參數(shù);靜態(tài)INCLUDE 用include 偽碼實現(xiàn),它不會檢查所含文件的變化,適用于包含靜態(tài)頁面<%@ include file="" %>。4、說出數(shù)據(jù)連接池的工作機制是什么?答:J2EE 服務(wù)器啟動時會建立一定數(shù)量的池連接,并一直維持不少于此數(shù)目的池連接??蛻舳顺绦蛐枰B接時,池驅(qū)動程序會返回一個未使用的池連接并將其表記為忙。如果當(dāng)前沒有空閑連接,池驅(qū)動程序就新建一定數(shù)量的連接,新建連接的數(shù)量有配置參數(shù)決定。當(dāng)使用的池連接調(diào)用完成后,池驅(qū)動程序?qū)⒋诉B接表記為空閑,其他調(diào)用就可以使用這個連接。5、JSP的內(nèi)置對象及方法?答:request 表示HttpServletRequest 對象。它包含了有關(guān)瀏覽器請求的信息,并且提供了幾個用于獲取cookie, header 和session 數(shù)據(jù)的有用的方法。response 表示HttpServletResponse 對象,并提供了幾個用于設(shè)置送回瀏覽器的響應(yīng)的方法(如cookies,頭信息等)。out 對象是 的一個實例,并提供了幾個方法使你能用于向瀏覽器回送輸出結(jié)果。pageContext 表示一個 對象。它是用于方便存取各種范圍的名字空間、servlet 相關(guān)的對象的API,并且包裝了通用的servlet 相關(guān)功能的方法。session 表示一個請求的 對象。Session可以存貯用戶的狀態(tài)信息。application 表示一個 對象。這有助于查找有關(guān)servlet 引擎和servlet 環(huán)境的信息。config 表示一個 對象。該對象用于存取servlet 實例的初始化參數(shù)。page 表示從該頁面產(chǎn)生的一個servlet 實例。6、JSP有哪些動作?作用分別是什么?答:JSP 共有以下6 種基本動作:· jsp:include:在頁面被請求的時候引入一個文件;· jsp:useBean:尋找或者實例化一個JavaBean。;· jsp:setProperty:設(shè)置JavaBean 的屬性。;· jsp:getProperty:輸出某個JavaBean 的屬性;· jsp:forward:把請求轉(zhuǎn)到一個新的頁面;· jsp:plugin:根據(jù)瀏覽器類型為Java 插件生成OBJECT 或EMBED 標(biāo)記。7、JSP有哪些內(nèi)置對象?作用分別是什么?答:JSP 共有以下9 種基本內(nèi)置組件(可與ASP 的6 種內(nèi)部組件相對應(yīng)):· request:用戶端請求,此請求會包含來自GET/POST 請求的參數(shù);· response:網(wǎng)頁傳回用戶端的回應(yīng);· pageContext:網(wǎng)頁的屬性是在這里管理;· session:與請求有關(guān)的會話期;· application:servlet 正在執(zhí)行的內(nèi)容;· out:用來傳送回應(yīng)的輸出;· config:servlet 的構(gòu)架部件;· page:JSP 網(wǎng)頁本身;· exception:針對錯誤網(wǎng)頁,未捕捉的例外。8、get 和post 的區(qū)別?答:Form 中的get 和post 方法,在數(shù)據(jù)傳輸過程中分別對應(yīng)了HTTP 協(xié)議中的GET 和POST 方法。二者主要區(qū)別如下:. Get 是用來從服務(wù)器上獲得數(shù)據(jù),而Post 是用來向服務(wù)器上傳遞數(shù)據(jù);. Get 將表單中數(shù)據(jù)按照variable=value 的形式,添加到action 所指向的URL 后面,并且兩者使用“?”連接,而各個變量之間使用“&”連接;Post 是將表單中的數(shù)據(jù)放在form 的數(shù)據(jù)體中,按照變量和值相對應(yīng)的方式,傳遞到action所指向URL;. Get 是不安全的,因為在傳輸過程,數(shù)據(jù)被放在請求的URL 中;Post 的所有操作對用戶來說都是不可見的;. Get 傳輸?shù)臄?shù)據(jù)量小,這主要是因為受URL 長度限制;而Post 可以傳輸大量的數(shù)據(jù),所以在上傳文件只能使用Post;. Get 限制Form 表單的數(shù)據(jù)集必須為ASCII 字符,而Post 支持整個ISO10646字符集;. Get 是Form 的默認(rèn)方法。9、什么情況下調(diào)用doGet()和doPost()?答:Jsp 頁面中的form 標(biāo)簽里的method 屬性為get 時調(diào)用doGet(),為post時調(diào)用doPost()。10、如何從form 表單中得取checkbox 的值?答:可在頁面把checkbox 的name 屬性取同一個,value 屬性取每個條目的id,后臺用getParamter(“name”)能取到checkbox 的一組值。11、javascript 常用的方面?答:常用于數(shù)據(jù)輸入校驗和頁面特殊效果等。12、常用的web 容器和開發(fā)工具?答:最常用的容器包括:tomcat、weblogic;開發(fā)工具有:eclipse,jbuilder。13、JSP和Servlet 有哪些相同點和不同點,他們之間的聯(lián)系是什么?答:JSP 是Servlet 技術(shù)的擴展,本質(zhì)上是Servlet 的簡易方式,更強調(diào)應(yīng)用的外表表達。JSP 編譯后是"類servlet"。Servlet和JSP 最主要的不同點在于,Servlet的應(yīng)用邏輯是在Java文件中,并且完全從表示層中的HTML 里分離開來。而JSP 的情況是Java 和HTML 可以組合成一個擴展名為.jsp 的文件。JSP 側(cè)重于視圖,Servlet 主要用于控制邏輯。14、JSP的四種范圍?. page 是代表與一個頁面相關(guān)的對象和屬性。一個頁面由一個編譯好的Java servlet 類(可以帶有任何的include 指令,但是沒有include 動作)表示。這既包括servlet 又包括被編譯成servlet 的JSP 頁面。. request 是代表與Web 客戶機發(fā)出的一個請求相關(guān)的對象和屬性。一個請求可能跨越多個頁面,涉及多個Web 組件(由于forward 指令和include 動作的關(guān)系)。. session 是代表與用于某個Web 客戶機的一個用戶體驗相關(guān)的對象和屬性。一個Web 會話可以也經(jīng)常會跨越多個客戶機請求。. application 是代表與整個Web 應(yīng)用程序相關(guān)的對象和屬性。這實質(zhì)上是跨越整個Web 應(yīng)用程序,包括多個頁面、請求和會話的一個全局作用域。15、頁面間對象傳遞的方法?答:request,session,application,cookie等。16、詳細(xì)描述MVC?答:基于Java的Web應(yīng)用系統(tǒng)采用MVC架構(gòu)模式,即model(模型)、view(視圖)、control(控制)分離設(shè)計;這是目前WEB 應(yīng)用服務(wù)系統(tǒng)的主流設(shè)計方向?!? Model:即處理業(yè)務(wù)邏輯的模塊,每一種處理一個模塊;· View:負(fù)責(zé)頁面顯示,顯示MODEL 處理結(jié)果給用戶,主要實現(xiàn)數(shù)據(jù)到頁面轉(zhuǎn)換過程;· Control:負(fù)責(zé)每個請求的分發(fā),把FORM 數(shù)據(jù)傳遞給MODEL 處理,把處理結(jié)果的數(shù)據(jù)傳遞給VIEW 顯示。17、MVC 的各個部分都有那些技術(shù)來實現(xiàn)?如何實現(xiàn)?答:MVC 是Model-View-Controller 的簡寫。"Model" 代表的是應(yīng)用的業(yè)務(wù)邏輯(通過JavaBean,EJB 組件實現(xiàn)), "View" 是應(yīng)用的表示面(由JSP 頁面產(chǎn)生),"Controller" 是提供應(yīng)用的處理過程控制(一般是一個Servlet),通過這種設(shè)計模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進行交互和重用。18、應(yīng)用服務(wù)器有那些?答:BEA WebLogic Server, IBM WebSphere Application Server, Oracle9i Application Server, JBoss, Tomcat。19、Servlet 執(zhí)行時一般實現(xiàn)哪幾個方法?答:public void init(ServletConfig config)public ServletConfig getServletConfig()public String getServletInfo()public void service(ServletRequest request,ServletResponseresponse)public void destroy()20、struts 的入口類?答:是ActionServlet,所有的struts請求都經(jīng)由該類轉(zhuǎn)發(fā)處理。21、STRUTS的應(yīng)用(如STRUTS 架構(gòu))?答:Struts 是采用Java Servlet/JavaServer Pages 技術(shù)開發(fā)Web 應(yīng)用程序的開放源碼的framework。采用Struts 能開發(fā)出基于MVC(Model-View-Controller)設(shè)計模式的應(yīng)用構(gòu)架。Struts 有如下的主要功能:. 包含一個controller servlet,能將用戶的請求發(fā)送到相應(yīng)的Action 對象;. JSP 自由tag 庫,并且在controller servlet 中提供關(guān)聯(lián)支持,幫助開發(fā)人員創(chuàng)建交互式表單應(yīng)用;. 提供了一系列實用對象:XML 處理、通過Java reflection APIs 自動處理JavaBeans 屬性、國際化的提示和消息。22、幾種會話跟蹤技術(shù)?答:cookie、URL 重寫、設(shè)置表單隱藏域。23、過濾器有哪些作用?答:可以驗證客戶是否來自可信的網(wǎng)絡(luò),可以對客戶提交的數(shù)據(jù)進行重新編碼,可以從系統(tǒng)里獲得配置的信息,可以過濾掉客戶的某些不應(yīng)該出現(xiàn)的詞匯,可以驗證用戶是否登錄,可以驗證客戶的瀏覽器是否支持當(dāng)前的應(yīng)用,可以記錄系統(tǒng)的日志等等。24、簡述HttpSession的作用、使用方法,可用代碼說明。答:HttpSession 中可以跟蹤并儲存用戶信息,把值設(shè)置到屬性中,有2 個方法:setAttribute(),getAttrribute();例如:在一個方法中用(“student”,student);在session 中設(shè)置一個屬性名為student,值為一個名為student 的對象。而后可在同一session 范圍內(nèi)用getAttribute(“student”)取出該屬性,得到student對象。25、介紹在JSP 中如何使用JavaBeans?答:在JSP中使用JavaBean常用的動作有:1):用來創(chuàng)建和查找bean 對象;2):用來設(shè)置bean 的屬性,即調(diào)用其setXxx()方法;3):用來獲得bean 的屬性,即調(diào)用其getXxx()方法。26、JSP和Servlet中的請求轉(zhuǎn)發(fā)分別如何實現(xiàn)?答:JSP 中的請求轉(zhuǎn)發(fā)可利用forward 動作實現(xiàn):;Serlvet中實現(xiàn)請求轉(zhuǎn)發(fā)的方式為:getServletContext().getRequestDispatcher(path).forward(req,res)。27、 的作用?答:用于配置web 應(yīng)用的信息;如listener、filter 及servlet 的配置信息等。28、寫出熟悉的JSTL標(biāo)簽答:、、、、、。29、Javascript 的優(yōu)缺點和內(nèi)置對象· 優(yōu)點:簡單易用,與Java 有類似的語法,可以使用任何文本編輯工具編寫,只需要瀏覽器就可執(zhí)行程序,并且事先不用編譯,逐行執(zhí)行,無需進行嚴(yán)格的變量聲明,而且內(nèi)置大量現(xiàn)成對象,編寫少量程序可以完成目標(biāo);· 缺點:不適合開發(fā)大型應(yīng)用程序;· Javascript 有11 種內(nèi)置對象:Array、String、Date、Math、Boolean、Number、Function、Global、Error、RegExp、Object。30、說出struts中的標(biāo)簽。答: “只要膽子大,失業(yè)就追不上我”……事實證明這是沒有的事,所以還不好好準(zhǔn)備面試題?。?!

        260 評論(12)

        毛頭猴子

        題目在哪里呢???

        91 評論(12)

        派大海綿

        下面是10道java基礎(chǔ)面試題,后附答案

        1.什么是 Java 虛擬機?為什么 Java 被稱作是“平臺無關(guān)的編程語言”?

        Java 虛擬機是一個可以執(zhí)行 Java 字節(jié)碼的虛擬機進程。Java 源文件被編譯成能被 Java 虛擬機執(zhí)行的字節(jié)碼文件。

        Java 被設(shè)計成允許應(yīng)用程序可以運行在任意的平臺,而不需要程序員為每一個平臺單獨重寫或者是重新編譯。Java 虛擬機讓這個變?yōu)榭赡埽驗樗赖讓佑布脚_的指令長度和其他特性。

        2.“static”關(guān)鍵字是什么意思?Java 中是否可以覆蓋(override)一個 private 或者是static 的方法?

        “static”關(guān)鍵字表明一個成員變量或者是成員方法可以在沒有所屬的類的實例變量的情況下被訪問。

        Java 中 static 方法不能被覆蓋,因為方法覆蓋是基于運行時動態(tài)綁定的,而 static 方法是編譯時靜態(tài)綁定的。static 方法跟類的任何實例都不相關(guān),所以概念上不適用。

        和 JRE 的區(qū)別是什么?

        Java 運行時環(huán)境(JRE)是將要執(zhí)行 Java 程序的 Java 虛擬機。它同時也包含了執(zhí)行 applet 需要的瀏覽器插件。Java 開發(fā)工具包 (JDK)是完整的 Java 軟件開發(fā)包,包含了 JRE,編譯器和其他的工具(比如:JavaDoc,Java 調(diào)試器),可以讓開發(fā)者開發(fā)、編譯、執(zhí)行 Java 應(yīng)用程序。

        4.是否可以在 static 環(huán)境中訪問非 static 變量?

        static 變量在 Java 中是屬于類的,它在所有的實例中的值是一樣的。當(dāng)類被 Java 虛擬機載入的時候,會對 static 變量進行初始化。如果你的代碼嘗試不用實例來訪問非 static 的變量,編譯器會報錯,因為這些變量還沒有被創(chuàng)建出來,還沒有跟任何實例關(guān)聯(lián)上。

        支持的數(shù)據(jù)類型有哪些?什么是自動拆裝箱?

        Java 語言支持的 8 中基本數(shù)據(jù)類型是:

        ?byte

        ?short

        ?int

        ?long

        ?float

        ?double

        ?boolean

        ?char

        自動裝箱是 Java 編譯器在基本數(shù)據(jù)類型和對應(yīng)的對象包裝類型之間做的一個轉(zhuǎn)化。比如:把 int 轉(zhuǎn)化成 Integer,double 轉(zhuǎn)化成 double,等等。反之就是自動拆箱。

        支持多繼承么?

        不支持,Java 不支持多繼承。每個類都只能繼承一個類,但是可以實現(xiàn)多個接口。

        中,什么是構(gòu)造函數(shù)?什么是構(gòu)造函數(shù)重載?什么是復(fù)制構(gòu)造函數(shù)?

        當(dāng)新對象被創(chuàng)建的時候,構(gòu)造函數(shù)會被調(diào)用。每一個類都有構(gòu)造函數(shù)。在程序員沒有給類提供構(gòu)造函數(shù)的情況下,Java 編譯器會為這個類創(chuàng)建一個默認(rèn)的構(gòu)造函數(shù)。

        Java 中構(gòu)造函數(shù)重載和方法重載很相似??梢詾橐粋€類創(chuàng)建多個構(gòu)造函數(shù)。每一個構(gòu)造函數(shù)必須有它自己唯一的參數(shù)列表。

        Java 不支持像 C++中那樣的復(fù)制構(gòu)造函數(shù),這個不同點是因為如果你不自己寫構(gòu)造函數(shù)的情況下,Java 不會創(chuàng)建默認(rèn)的復(fù)制構(gòu)造函數(shù)。

        中的方法覆蓋(Overriding)和方法重載(Overloading)是什么意思?

        Java 中的方法重載發(fā)生在同一個類里面兩個或者是多個方法的方法名相同但是參數(shù)不同的情況。與此相對,方法覆蓋是說子類重新定義了父類的方法。方法覆蓋必須有相同的方法名,參數(shù)列表和返回類型。覆蓋者可能不會限制它所覆蓋的方法的訪問。

        9.接口和抽象類的區(qū)別是什么?

        Java 提供和支持創(chuàng)建抽象類和接口。它們的實現(xiàn)有共同點,不同點在于:

        ?接口中所有的方法隱含的都是抽象的。而抽象類則可以同時包含抽象和非抽象的方法。

        ?類可以實現(xiàn)很多個接口,但是只能繼承一個抽象類

        ?類如果要實現(xiàn)一個接口,它必須要實現(xiàn)接口聲明的所有方法。但是,類可以不實現(xiàn)抽象類聲明的所有方法,當(dāng)然,在這種情況下,類也必須得聲明成是抽象的。

        ?抽象類可以在不提供接口方法實現(xiàn)的情況下實現(xiàn)接口。

        ?Java 接口中聲明的變量默認(rèn)都是 final 的。抽象類可以包含非 final 的變量。

        ?Java 接口中的成員函數(shù)默認(rèn)是 public 的。抽象類的成員函數(shù)可以是 private, protected 或者是 public。

        ?接口是絕對抽象的,不可以被實例化。抽象類也不可以被實例化,但是,如果它包含 main 方法的話是可以被調(diào)用的。

        10.什么是值傳遞和引用傳遞?

        對象被值傳遞,意味著傳遞了對象的一個副本。因此,就算是改變了對象副本,也不會影響源對象的值。

        對象被引用傳遞,意味著傳遞的并不是實際的對象,而是對象的引用。因此,外部對引用對象所做的改變會反映到所有的對象上。

        最后祝你面試順利!

        271 評論(15)

        jiajia1994

        異常機制的原理與應(yīng)用答:每當(dāng)程序出現(xiàn)異常之后,如果程序沒有進行相應(yīng)的處理,則程序會出現(xiàn)中斷現(xiàn)象。實際上,產(chǎn)生了異常之后,JVM會拋出一個異常類的實例化對象,如果此時使用了try語句捕獲的話,則可以進行異常的處理,否則,交給JVM進行處理。當(dāng)try語句捕獲異常之后,將與catch語句的異常類型進行匹配,如果匹配成功則執(zhí)行catch內(nèi)的語句。簡單的應(yīng)用:在所以throws語句的地方加入try-catch。標(biāo)準(zhǔn)應(yīng)用:try-catch-finally-throw-throws一起使用。 2. 垃圾回收機制的優(yōu)點答:釋放無用的對象所占用的空間。方式:自動回收,手動回收。使用(),實際上調(diào)用().gc()3. Error與Exception區(qū)別答:Error是jvm進行處理,是jvm出錯exception是可以由程序處理的,可以用try-catch捕獲的4. final,finally,finallize答:final定義的變量的值不能改變,定義的方法不能被覆蓋,定義的類不能被繼承finally是異常的統(tǒng)一出口,finallize是垃圾回收前的收尾工作,是Object類定義的5. Anonymous Inner Class是否可以extends,是否可以implements Interface答:允許繼承和實現(xiàn),因為匿名內(nèi)部類就是在抽象類和接口的基礎(chǔ)上發(fā)展起來的6. Static Nested Class 與Inner Class的區(qū)別答:使用Static定義的Class就是外部類,可以通過外部類. 內(nèi)部類直接訪問而Inner Class是不能被外部訪問的,只能通過外部類的實例再找到內(nèi)部類實例。7. HashMap and HashTable?答:HashMap:1) released in jdk Class 2)采用異步處理方式,性能較高,是非線程安全的 3)允許nullHashTable:1)released in jdk ,old Class 2)采用同步處理方式,性能低,是線程安全的3)不允許null8. assert代表什么?答:asserts是jdk 之后發(fā)布的新關(guān)鍵字,表示斷言,即程序執(zhí)行到某個地方肯定是預(yù)計的值,一般開發(fā)很少使用。要使用assert,必須加上 -ea參數(shù)9. gc是什么?答:gc是garbage collection,垃圾回收,使用gc可以進行垃圾空間的釋放10. String s = new String("xyz")產(chǎn)生了幾個對象?答:一個匿名對象xyz,在棧空間內(nèi)。一個new實例化的對象,在堆空間內(nèi)。11. sleep() and wait()?答:sleep()是Thread類定義方法,表示線程的休眠,可以自動喚醒wait()方法是Object類定義的方法,需要手動notify()和notifyAll()//sleep()不釋放資源,wait()釋放資源12. Overload與Override的區(qū)別答:Overload:重載 |- 在一個類中定義的若干方法 |- 所有的方法名相同,但參數(shù)類型或個數(shù)不同 |- 只有參數(shù)有關(guān),與返回類型無關(guān)Override:覆寫 |- 在繼承的關(guān)系中 |- 子類定義了父類同名的方法,參數(shù)類型或個數(shù)最好完全一樣。 |- 訪問權(quán)限不能更嚴(yán)格13. abstract class 和 interface有什么區(qū)別?答:抽象類: |-由抽象方法和常量、變量、全局常量、構(gòu)造方法、普通方法組成 |-使用abstract聲明 |-子類要通過extends繼承抽象類,子類如果不是抽象類,則必須覆寫抽象類的全部抽象方法 |-存在單繼承的局限 |-抽象類可以實現(xiàn)若干個接口接口: |-由抽象方法和全局常量組成 |-使用interface關(guān)鍵字 |-子類要通過implements實現(xiàn)接口,子類如果不是抽象類,則必須覆寫抽象類的全部抽象方法 |-一個子類可以實現(xiàn)多個接口 |-接口不能繼承一個抽象類,但允許繼承多個接口

        302 評論(14)

        相關(guān)問答