java程序員面試題庫
Java程序員想要在面試中有好的表現(xiàn),那么面試前的準備很重要,了解面試問題很有必要,以下是小編幫你們整理的java程序員面試題,一起來學習啦。
java程序員面試題(一)
1.j2ee是什么?它包含哪些技術?
從整體來講,J2EE是使用java開發(fā)技術開發(fā)企業(yè)級應用的工業(yè)標準,它是java技術不斷適應和醋精企業(yè)級應用過程的產物。適用于企業(yè)級應用的j2ee,提供一個平臺獨立的、可移植的、多用戶的、安全的和基于標注呢企業(yè)級平臺,從而簡化企0業(yè)應用的開發(fā)、管理和部署。J2EE是一個標準,而不是一個現(xiàn)成的產品。
主要包括以下這些技術:
(1)Servlet servlet是java平臺上的CGI技術。Servlet在服務器端運行,動態(tài)的生成web頁面。與傳統(tǒng)的CGI和其他類似CGI的技術相比,Java Servlet具有更高的效率并更容易使用。對于Servlet,從夫的請求不會導致同一程序的多次轉載,它是依靠線程的方式來支持并訪問的。
(2)JSP Jsp(java server page)是一種是實現(xiàn)普通靜態(tài)HTML和動態(tài)頁面輸出混合編碼的技術。從這一點看,非常類似Microsoft ASP、PHP等技術。借助形式上的內容和外觀表現(xiàn)的分離,web頁面制作的任務可以比較方便的話費給頁面設計人員和程序員,并方便的通過JSP來合成。在運行時態(tài),JSP將會被首先轉換成Servlet,并以Servlet的形態(tài)編譯運行,因此它的效率和功能與Servlet相比沒有差別,一樣具有很高的效率。
(3)EJB EJB定義了一組可充用的組件:Enterprise Beans。開發(fā)人員可以利用這些組件,像搭積木一樣建立分布式應用。
(4)JDBC JDBC(Java DataBase Connectivity,java數據庫連接)API是一個標準SQL(Structured Query Language,結構化查詢語句)數據庫訪問接口,它使數據庫開發(fā)人員能夠使用標準Java API編寫數據庫應用程序。JDBC API主要用來連接數據庫和調用SQL命令執(zhí)行各種SQL語句。利用JDBC API可以執(zhí)行一般的SQL語句、動態(tài)SQL語句及帶IN和OUT參數的存儲過程。JAVA中的JDBC 相當于Microsoft平臺中的ODBC(open Database Connectivity)。
2.測試生命周期、測試過程分為幾個階段、以及各階段的含義?
軟件測試生命周期一般包括6個階段:
(1)技術:產品定義階段
(2)分析:外部文檔階段
(3)設計:文檔架構階段
(4)構建:單元測試階段
(5)測試周期:錯誤修正,重復系統(tǒng)測試階段
(6)最后測試和實施:代碼凍結階段
3.您做系統(tǒng)設計用各種工具?
Visio,Rational rose,power designer的
4.什么是web容器?
容器就是一種服務程序,在服務器一個端口就有一個提供相應服務的程度,而這個程序就是處理從客戶端發(fā)出的請求,如java中的Tomat容器,ASP的IIS火舌PWS都是這樣的容器。
5.運行是異常與一般異常有何異同?
異常表示程序運行高城中可能會出現(xiàn)的非正常狀態(tài),運行時異常表示虛擬機的同城操作中可能遇到的異常,是一種常見運行異常。Java編譯器要求方法必須聲明拋出可能發(fā)生的非運行異常,但是并不要求必須聲明拋出未被捕獲的運行時異常。
6.Hibernate中:不看數據庫,不看XML文件,不看查詢語句,怎么能知道表結構?
可以看與xml文件對應的域模型。
java程序員面試題(二)
1.類有哪三種基本特性?各特性的優(yōu)點?
類具有封裝性、繼承性、和多態(tài)性。
封裝性:類的封裝性為類的成員提供公有、缺省、保護和私有等多級訪問權限,目的是隱藏類中的私有變量和類中的方法的實現(xiàn)細節(jié)。
繼承性:類的繼承性提供從已存在的類的創(chuàng)建新類的機制,繼承(inheritance)使一個新類自動擁有被繼承類(父類)的全部可繼承的成員。
多態(tài)性:類的多態(tài)性提供類中方法執(zhí)行的多樣性,多態(tài)性有兩種表現(xiàn)形式:重載和覆蓋。
2.談談對XML的理解?說明web應用中web.xml文件的作用?
XML(Extensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Standard Generalized Markup Language標磚通用標記語言)。XML是Internrt環(huán)境中跨平臺的,依賴于內容的技術,是當前處理結構化文檔信息的有力工具。拓展標記語言XML是一種簡單的實際存儲語言,使用一系列簡單的標記描述數據,而這些標記可以用方便的方式建立,雖然XML占用的空間比二進制數據要占用更多的空間,但XML極其簡單易于掌握和使用。
Web.xml的作用是配置歡迎頁,servlet 、filter、listenter等的。
3.Jsp有哪些內置對象?作用分別是什么?
1).request 表示HttpServlet Request對象。它包含了有關瀏覽器請求的信息,并且提供了幾個獲取cookie,header和session數據的有用的方法。
2).response表示HttpServletResponse對象,并且提供了幾個用于設置送回瀏覽器的響應的方法(如cookies,header信息等)
3).out對象是javax.jsp.JspWriter的一個實例,并提供了幾個方法能用于向瀏覽器回送輸出結果
4).pageContext表示一個javax.servlet.jsp.PageContext對象。它是用于方便存取各種范圍的名字空間、servlet相關的對象API,并且包裝了用用的servlet相關功能的方法。
5).session表示一個請求的javax.servlet.http.HttpSession對象。Session可以存貯用戶的狀態(tài)信息。
6).application表示一個javax.servlet.ServletContext對象,這有助于查找有關servlet引擎和servlet環(huán)境信息。
7).config表示一個javax.servlet.ServletConfig對象。該對象用于存取servlet實例的初始化參數
8).page表示從該頁面產生的一個servlet實例
9).exceptiom針對錯誤頁面,未捕捉的例外
4.事務是什么?有哪些屬性,并且簡要說明這些屬性的含義。
事務(Transaction)是訪問并可能更新數據庫中各種數據項的一個程序執(zhí)行單元(unit)。 事務通常是由高級數據庫操縱語言(如SQL,C++或java)書寫的用戶程序的執(zhí)行所引起,并用刑辱begin transaction 和end transaction語句(或者函數調用)來界定。事務由事務開始(begin transaction)和事務結束(end transaction)之間執(zhí)行的全體操作組成。
事務具有4個屬性:原子性、一致性、隔離性、持續(xù)性。這4個屬性通常稱之為ACID特性。
原子性(atomicity):一個事務是一個不可分割的工作單位,事務中包括的著操作要么都做,要么都不做。
一致性(consistency):事務必須是使數據庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。一致性與原子性是密切相關的。
隔離性(isolation):一個事務的執(zhí)行不能被其他事務干擾。即一個事務內部的操作及使用的數據對并發(fā)的其他事務是隔離的,并發(fā)執(zhí)行的各個事務之間不能互相干擾。
持久性(durability):持久性也稱之為永久性(permanence),指一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。
java程序員面試題(三)
1.存儲過程和函數的區(qū)別
從參數的返回其情況來看:
如果返回多個參數值最好使用存儲過程,如果只有一個返回參數值的話可以使用函數。 從調用情況來看:
如果在SQL語句(DML或者select)中調用的話一定是存儲函數或者是存儲的分裝函數不可以是存儲過程,但是調用存儲函數的時候還有很多限制以及函數的純度等級問題,如果實在過程化語句中調用的虎牙,就要看你是實現(xiàn)什么樣的功能。函數一般情況先是用來計算并返回一個計算結果而存儲過程一般是一用來完成特定的數據操作(比如修改、插入數據庫表或執(zhí)行某些dml語句),所有雖然他們的語法上很相似但用戶在使用他們的時候所需要完成的功能大部分情況下是不同的。
2.試述數據庫完整保護的主要任務和措施
數據庫的完整性保護也就是數據庫中正確性的維護。數據庫的完整性包括三個內容:實體完整性規(guī)則、參照物完整性規(guī)則和用戶定義完整性規(guī)則。前兩個使用DBMS自動處理。
實體完整性規(guī)則:是說針對基表中的關鍵字屬性不能為空值,是數據庫完整性的基本要求,主關鍵字和元組的唯一性對應。
參照物完整性規(guī)則:是不允許引用不存在的元組:即基表中的外關鍵字要么為空,要么關聯(lián)基表中必然存在元組。
用戶定義完整性規(guī)則:針對具體的數據環(huán)境由用戶具體設置的規(guī)則,它反映了具體應用中的語義要求。一個完整性規(guī)則一般有下面三個部分組成:完整性約束條件設置,完整性約束條件的檢驗以及完整性約束條件的處理。后兩部分在數據庫中一般由相應的模塊處理。另外觸發(fā)器也可以做完整性的保護,但觸發(fā)器大量用于主動性領域。
3.請說明SQLServer中的delete from tablea & truncate table tablea的區(qū)別。
兩者都可以用來刪除表中的所有記錄。區(qū)別在于:truncate是DDL操作,它移動HWK,是HWK值為0,不需要rollback segment ,而Delete是DML操作需要rollback segment 且話費較長時間。
看了“java程序員面試題”