精品国产一级毛片大全,毛片一级在线,毛片免费观看的视频在线,午夜毛片福利

我要投稿 投訴建議

JAVA經(jīng)典算法面試題

時(shí)間:2024-04-16 09:32:26 進(jìn)利 面試試題 我要投稿
  • 相關(guān)推薦

JAVA經(jīng)典算法面試題

  Java是一門面向?qū)ο蟮木幊陶Z言,不僅吸收了C++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。以下是小編給大家?guī)淼腏AVA經(jīng)典算法面試題,希望大家喜歡。

JAVA經(jīng)典算法面試題

  一.選擇題(30分)

  1.下列哪些情況可以終止當(dāng)前線程的運(yùn)行?

  a. 拋出一個(gè)異常時(shí)。

  b. 當(dāng)該線程調(diào)用sleep( )方法時(shí)。

  c. 當(dāng)創(chuàng)建一個(gè)新線程時(shí)。(與當(dāng)前進(jìn)程無關(guān))

  d. 當(dāng)一個(gè)優(yōu)先級(jí)高的線程進(jìn)入就緒狀態(tài)時(shí)。

  2. 下面哪些為構(gòu)造函數(shù)的特性定義

  a. 在類中聲明構(gòu)造函數(shù)時(shí),名稱應(yīng)該與類名相同

  b. 具有重載特性,可以建立多個(gè)相同的名稱

  c. 使用類建立新對(duì)象時(shí),會(huì)自動(dòng)執(zhí)行構(gòu)造函數(shù),因此在構(gòu)造函

  數(shù)內(nèi)設(shè)定變量的初值或進(jìn)行內(nèi)存分配

  d. 以上都是

  3. 關(guān)于異常處理機(jī)制的敘述哪些正確

  a. catch部分捕捉到異常情況時(shí),才會(huì)執(zhí)行finally部分(無論是否有毛病,都執(zhí)行)

  b. 當(dāng)try區(qū)段的程序發(fā)生異常時(shí),才會(huì)執(zhí)行catch區(qū)段的程序

  c. 不論程序是否發(fā)生錯(cuò)誤及捕捉到異常情況,都會(huì)執(zhí)行finally部分

  d. 以上都是

  4. 下列關(guān)于接口的敘述中哪些是正確的

  a. 接口中的數(shù)據(jù)必須設(shè)定初值(就是接口中的常量)

  b. 接口中的方法都是抽象方法

  c. 接口可以聲明引用

  d. 以上都正確

  5.Java語言中,方法的重寫(Overriding)和重載(Overloading)是多態(tài)性的不同表現(xiàn)。下邊哪些說法是對(duì)的?

  A. 重寫是父類與子類之間多態(tài)性的一種表現(xiàn)。

  B. 重寫是一個(gè)類中多態(tài)性的一種表現(xiàn)。

  C. 重載是一個(gè)類中多態(tài)性的一種表現(xiàn)。

  D. 重載是父類與子類之間多態(tài)性的一種表現(xiàn)。

  6.在Struts應(yīng)用的視圖中包含哪些組件?

  A. JSP

  B. Servlet

  C. ActionServlet

  D. Action

  E. 代表業(yè)務(wù)邏輯或業(yè)務(wù)數(shù)據(jù)的JavaBean

  F. EJB

  G. 客戶化標(biāo)簽

  7. struts框架中,關(guān)于FormBean,下列哪些說法是正確的:

  A FormBean是一種數(shù)據(jù)bean,主要用來封裝表單提交上來的數(shù)據(jù),并把這些數(shù)據(jù)傳遞給Action

  B 在FormBean中可以對(duì)頁面上傳遞來的參數(shù)進(jìn)行一下格式上的驗(yàn)證,這種驗(yàn)證是一種客戶端的驗(yàn)證

  C 用戶每次提交表單,都會(huì)產(chǎn)生一個(gè)新的FormBean實(shí)例

  D 動(dòng)態(tài)FormBean不能進(jìn)行驗(yàn)證操作

  8.哪些方法可以進(jìn)行servlet的調(diào)試?( )

  A、使用打印語句; 在桌面計(jì)算機(jī)上運(yùn)行服務(wù)器

  B、使用Apache Log4J

  C、使用IDE集成的調(diào)試器

  D、直接查看HTML源碼 ????

  E、返回錯(cuò)誤頁面給客戶

  9、下面關(guān)于servlet的功用說法正確的有哪些?( )

  A、讀取客戶程序發(fā)送來的顯式數(shù)據(jù)

  B、讀取客戶程序發(fā)送來的隱式數(shù)據(jù)

  C、生成相應(yīng)的結(jié)果

  D、發(fā)送顯式的數(shù)據(jù)給客戶程序

  E、發(fā)送隱式的數(shù)據(jù)給客戶程序

  10、下面關(guān)于session的用法哪些是錯(cuò)誤的?(

  A、HttpSession session = new HttpSession( );

  request.getSession( );

  B、String haha =(String) session.getParameter(Attribute)(“haha”);

  C、session.removeAttribute(“haha”);

  D、session. setAttribute(“haha”,值);

  11、關(guān)于說法正確的有哪些?( )

  A、URL的輸出在請(qǐng)求時(shí)入到JSP頁面中

  B、不能含有影響整個(gè)頁面的JSP內(nèi)容

  C、被包含文件改變后不需更改使用它的頁面

  D、被包含文件更改后,需要手動(dòng)地更新使用它的頁面(不需要手動(dòng)更新)

  12、關(guān)于bean的說法正確的有哪些?( )

  A、具備一個(gè)零參數(shù)(空)的構(gòu)造函數(shù)(不是必須的)

  B、不應(yīng)該有公開的實(shí)例變量(字段)

  C、所有的屬性都必須通過getXxx和setXxx方法來訪問

  D、布爾型的屬性使用isXxx,而非getXxx

  13、下面關(guān)于MVC說法錯(cuò)誤的有哪些?( )

  A、必須使用復(fù)雜的框架

  B、使用內(nèi)建的RequestDispatcher能夠很好地實(shí)現(xiàn)MVC

  C、當(dāng)其中一個(gè)組件發(fā)生變化的時(shí)候,MVC影響整個(gè)系統(tǒng)的設(shè)計(jì)

  D、我們可以用MVC來處理單個(gè)請(qǐng)求

  14、下面的標(biāo)簽中哪些是JSTL標(biāo)簽?( )

  15、struts框架,錯(cuò)誤的是,下面那些說法正確?

  A Struts中無法完成上傳功能

  B Struts框架基于MVC模式

  C Struts框架容易引起流程復(fù)雜、結(jié)構(gòu)不清晰等問題(清晰)

  D Struts可以有效地降低項(xiàng)目的類文件數(shù)目

  二、填空題( 5分)

  1、調(diào)用函數(shù)MOD(123,10)返回值為___。

  2、select round (123.67,1)fromdual;這語句輸出值為______。

  3、創(chuàng)建一個(gè)臨時(shí)替代變量使用的字符是_____。

  4、若v_comm = 2800, X := NVL (V_comm,0) ,則X的值為____。

  5、調(diào)用函數(shù)INSTR(‘Here you are’,’er’)返回值為___。

  三、判斷題(10分)

  1、WHERE子句限制行記錄,也可以指定限制分組結(jié)果的條件。( )

  2、具有UNIQUE約束的列不能包含多個(gè)空值。( )

  3、DATE型數(shù)據(jù)中包含著時(shí)間值。( )

  4、具有外鍵約束的列可以包含空值。( )

  5、如果在類型為4)的列中輸入“hello”,則只能存儲(chǔ)hell。( )

  6、含有Group by子句的查詢,其結(jié)果是排好序的。( )

  7、定義游標(biāo)時(shí),其中的select語句不能使用order by子句。(子查詢不能用)( )

  9、觸發(fā)器一定會(huì)被激發(fā)。 過程可以有返回值。( )

  10、instead

  of觸發(fā)器只是基于視圖的。

  四、寫出相應(yīng)的SQL語句(括號(hào)內(nèi)為列名)(10分)

  1、查詢從事各工作(JOB)的員工人數(shù)。

  2、查詢與員工SMITH在同一部門(DEPTNO)的員工的姓名(ENAME),工資(SAL)和部門。

  3、查詢所有員工的姓名(ENAME),工資(SAL)和工資等級(jí)(GRADE)。

  4、查詢獲得工資(SAL)最高的3個(gè)員工信息。

  5、查詢所有員工的姓名(ENAME)及其主管姓名(ENAME)。

  五、簡(jiǎn)答題(15分)

  1. 在PL/SQL程序中,進(jìn)行用戶自定義異常處理的3個(gè)步驟是什么?

  2. 面向?qū)ο蟮奶卣饔心男┓矫?并簡(jiǎn)要介紹

  3. List、Map、Set三個(gè)接口,存取元素時(shí),各有什么特點(diǎn)?

  List 以特定次序來持有元素,可有重復(fù)元素。Set 無法擁有重復(fù)元素,內(nèi)部排序。Map 保存key-value值,value可多值。

  4 .struts1.0和struts2.0的區(qū)別?如何控制兩種框架中的單例模式?

  5. 描述一下如何在struts1.0實(shí)現(xiàn)國際化,以兩國語言(中文,英文)為例:

  6.struts中怎么配置form-bean、action

  7. Hibernate自帶的分頁機(jī)制是什么?如果不使用Hibernate自帶的分頁,則采用什么方式分頁?

  8. hibernate中一對(duì)多配置文件返回的是什么?

  9.什么樣的數(shù)據(jù)適合存放到第二級(jí)緩存中?

  10你一般用spring做什么?

  11項(xiàng)目中如何體現(xiàn)Spring中的切面編程,具體說明。

  12 觸發(fā)觸發(fā)器的數(shù)據(jù)操作有哪些?

  13 解釋視圖的含義以及使用視圖的好處。

  14 簡(jiǎn)述ORACLE中5種約束及其作用。

  15 ORACLE中過程和函數(shù)的異同點(diǎn)。

  六、編程題(30分)

  1、創(chuàng)建一個(gè)PL/SQL塊,根據(jù)用戶輸入的編號(hào),在emp表中查詢出該編號(hào)的員工姓名、部門號(hào)及其主管編號(hào),要有異常處理。

  2、創(chuàng)建一個(gè)PL/SQL塊,根據(jù)用戶輸入的工作,從emp表中逐條輸出從事這一工作的每位員工的編號(hào)、姓名和受雇如期,每條信息格式如下:(用游標(biāo)實(shí)現(xiàn))

  編號(hào) 姓名 受雇日期

  7751 JOHN 95-12-31

  3、編寫一個(gè)函數(shù),用于判斷EMP表中某一工作(JOB)是否存在,若EMP表存在此工作名稱,則返回TRUE,否則返回FALSE。

  4、編寫一觸發(fā)器,在EMP表執(zhí)行插入或修改前被激發(fā),此觸發(fā)器將對(duì)員工的工資(SAL)超過5000進(jìn)行報(bào)錯(cuò),不能插入或修改,不超

  過5000的才將員工編號(hào)、工作及當(dāng)時(shí)的日期(SYSDATE)插入U(xiǎn)P_EMP表

  (注:此表已建好,表結(jié)構(gòu)為UP_EMP(EMPNO NUMBER(4),SAL NUMBER(7,2),UDETE DATE))

  5下面程序的輸出結(jié)果是多少?

  importjava.util.Date;

  public class Test extends Date{

  public static void main(String[] args) {

  new Test( ).test( );}

  public void test( ){

  System.out.println(super.getClass( ).getName( ));}}

  6下面的程序代碼輸出的結(jié)果是多少? public class smallT

  {}

  public static void main(String args[]) { } public int get( ){ } try { } finally { } return 2 ; return 1 ; smallT t = new smallT( ); int b = t.get( ); System.out.println(b);

  7子線程循環(huán)10次,接著主線程循環(huán)100,接著又回到子線程循環(huán)10次,接著再回到主線程又循環(huán)100,如此循環(huán)50次,請(qǐng)寫出程序。

  8去掉一個(gè)Vector集合中重復(fù)的元素

  9有一個(gè)字符串,其中包含中文字符、英文字符和數(shù)字字符,請(qǐng)統(tǒng)計(jì)和打印出各個(gè)字符的個(gè)數(shù)

  10. xxx公司的sql面試

  Table EMPLOYEES Structure:

  EMPLOYEE_ID NUMBER Primary Key,

  FIRST_NAME VARCHAR2(25),

  LAST_NAME VARCHAR2(25),

  Salary number(8,2),

  HiredDate DATE,

  Departmentid number(2)

  Table Departments Structure:

  Departmentid number(2) Primary Key,

  DepartmentName VARCHAR2(25).

  (1)基于上述EMPLOYEES表寫出查詢:寫出雇用日期在今年的,或者工資在[1000,2000]之間的,或者員工姓名(last_name)以’Obama’打頭的所有員工,列出這些員工的全部個(gè)人信息。

  (2) 基于上述EMPLOYEES表寫出查詢:查出部門平均工資大于1800

  元的部門的所有員工,列出這些員工的全部個(gè)人信息。( )

  (3) 基于上述EMPLOYEES表寫出查詢:查出個(gè)人工資高于其所在部門平均工資的員工,列出這些員工的全部個(gè)人信息及該員工工資高出部門平均工資百分比。

  參考答案

  1答案:ABD

  2答案: D

  3答案:BC

  4答案:AB

  5答案AC

  6答案:A,G

  7答案:A

  8A B C D E

  9A B C D E

  10A B D

  11A B C

  12B D

  13A C

  14A B C

  15A B C

  16答案:C

  二 填空

  3 123.7 & 2800 2

  三判斷

  × ×√√√√×√×√

  四寫出相應(yīng)的SQL語句

  1Select job,count(*)fromemp group by job;

  2Select ename,sal,deptnofromemp where deptno=(select deptnofromemp where ename=’SMITH’);

  3Select ename,sal,gradefromemp,salgrade where sal between losal and hisal;

  4Select*from(select*fromemp order by sal desc) where rownum<=3;

  5Selecte1.enameempname,e2.enamemgrnamefromemp e1,emp e2 where e1.mgr=e2.empno;

  五簡(jiǎn)答

  可以通過聲明和發(fā)布來截獲自定義異常。

  一、在聲明部分為聲明自定義異常名。

  二、在執(zhí)行部分使用 RAISE 語句顯式地發(fā)布異常。

  三、在相應(yīng)的異常處理例程中引用已聲明的異常。

  2(1).抽象:

  抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè)方面,一是過程抽象,二是數(shù)據(jù)抽象。

  (2).繼承:

  繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵(lì)類的重用,它提供了一種明確表述共性的方法。對(duì)象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過程稱為類繼承。新類繼承了原始類的特性, 新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實(shí)例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。

  (3).封裝:

  封裝是把過程和數(shù)據(jù)包圍起來,對(duì)數(shù)據(jù)的訪問只能通過已定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)象通過一個(gè)受保護(hù)的接口訪問其他對(duì)象。

  (4). 多態(tài)性:

  多態(tài)性是指允許不同類的對(duì)象對(duì)同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問題。

  List 以特定次序來持有元素,可有重復(fù)元素。Set 無法擁有重復(fù)元素,內(nèi)部排序。Map 保存key-value值,value可多值。

  3List 以特定次序來持有元素,可有重復(fù)元素。Set 無法擁有重復(fù)元素,內(nèi)部排序。Map 保存key-value值,value可多值

  4a、Action類:

  struts1.2要求Action類繼承一個(gè)基類。struts2.0 Action要求繼承ActionSupport基類 b、線程模式

  struts1.2 Action是單例模式的并且必須是線程安全的,因?yàn)閮H有一個(gè)Action的實(shí)例來處理所有的請(qǐng)求。

  單例策略限制了Struts1.2 Action能做的事情,并且開發(fā)時(shí)特別小心。Action資源必須是線程安全的或同步的。

  struts2.0 Action為每一個(gè)請(qǐng)求產(chǎn)生一個(gè)實(shí)例,因此沒有線程安全問題。

  c、Servlet依賴

  struts1.2 Action依賴于Servlet API,因?yàn)楫?dāng)一個(gè)Action被調(diào)用時(shí)HttpServletRequest和HttpServletResponse被傳遞給execut方法。

  struts2.0 Action不依賴于容器,允許Action脫離容器單獨(dú)測(cè)試。如果需要,Struts2 Action仍

  然可以訪問初始的Request和Response。

  但是,其他的元素減少或者消除了直接訪問HttpServletRequest和HttpServletResponse的必要性。

  d、可測(cè)性

  測(cè)試struts1.2 Action的一個(gè)主要問題是execute方法暴露了Servlet API(這使得測(cè)試要依賴于容器)。一個(gè)第三方擴(kuò)展:struts TestCase

  提供了一套struts1.2的模擬對(duì)象來進(jìn)行測(cè)試。

  Struts2.0 Action可以通過初始化、設(shè)置屬性、調(diào)用方法來測(cè)試,“依賴注入”也使得測(cè)試更容易。

【JAVA經(jīng)典算法面試題】相關(guān)文章:

常見的算法面試題07-30

java面試題10-30

Java經(jīng)典面試題12-29

Java面試題01-22

java學(xué)習(xí):Java面試題和答案07-17

java算法面試常見問題08-05

Java框架面試題07-16

java面試題匯總10-18

Java面試題集10-15