1、java笔试面试题及答案一选取题(30分)1.下列哪些状况可以终结当前线程运营? a. 抛出一种异常时。 b. 当该线程调用sleep()办法时。 c. 当创立一种新线程时。(与当迈进程无关) d. 当一种优先级高线程进入就绪状态时。2. 下面哪些为构造函数特性定义 a. 在类中声明构造函数时,名称应当与类名相似 b. 具备重载特性,可以建立各种相似名称 c. 使用类建立新对象时,会自动执行构造函数,因而在构造函数内设定变量初值或进行内存分派d. 以上都是3. 关于异常解决机制论述哪些对的 a. catch某些捕获到异常状况时,才会执行finally某些(无论与否有毛病,都执行) b. 当tr
2、y区段程序发生异常时,才会执行catch区段程序 c. 无论程序与否发生错误及捕获到异常状况,都会执行finally某些d. 以上都是4. 下列关于接口论述中哪些是对的 a. 接口中数据必要设定初值(就是接口中常量) b. 接口中办法都是抽象办法 c. 接口可以声明引用d. 以上都对的5. Java语言中,办法重写(Overriding)和重载(Overloading)是多态性不同体现。下边哪些说法是对?A 重写是父类与子类之间多态性一种体现。B 重写是一种类中多态性一种体现。C 重载是一种类中多态性一种体现。D 重载是父类与子类之间多态性一种体现。6.在Struts应用视图中包括哪些组件?A
3、. JSPB. ServletC. ActionServletD. ActionE. 代表业务逻辑或业务数据JavaBeanF. EJBG. 客户化标签7. struts框架中,关于FormBean,下列哪些说法是对的: A FormBean是一种数据bean,重要用来封装表单提交上来数据,并把这些数据传递给Action B 在FormBean中可以对页面上传递来参数进行一下格式上验证,这种验证是一种客户端验证 C 顾客每次提交表单,都会产生一种新FormBean实例 D 动态FormBean不能进行验证操作8哪些办法可以进行servlet调试?()A、使用打印语句;在桌面计算机上运营服务器B
4、、使用Apache Log4JC、使用IDE集成调试器D、直接查看HTML源码 ?E、返回错误页面给客户9、下面关于servlet功用说法对的有哪些?() A、读取客户程序发送来显式数据B、读取客户程序发送来隐式数据C、生成相应成果D、发送显式数据给客户程序E、发送隐式数据给客户程序10、下面关于session用法哪些是错误?( A、HttpSession session = new HttpSession();request.getSession(); B、String haha =(String) session.getParameter(Attribute)(“haha”); C、ses
5、sion.removeAttribute(“haha”); D、session. setAttribute(“haha”,值);11、关于说法对的有哪些?()A、URL输出在祈求时被插入到JSP页面中B、不能具有影响整个页面JSP内容C、被包括文献变化后不需更改使用它页面D、被包括文献更改后,需要手动地更新使用它页面(不需要手动更新)12、关于bean说法对的有哪些?() A、具备一种零参数(空)构造函数(不是必要)B、不应当有公开实例变量(字段)C、所有属性都必要通过getXxx和setXxx办法来访问D、布尔型属性使用isXxx,而非getXxx13、下面关于MVC说法错误有哪些?() A
6、、必要使用复杂框架 B、使用内建RequestDispatcher可以较好地实现MVC C、当其中一种组件发生变化时候,MVC影响整个系统设计 D、咱们可以用MVC来解决单个祈求14、下面标签中哪些是JSTL标签?() A、 B、 C、 D、15、struts框架,错误是,下面那些说法对的? A Struts中无法完毕上传功能 B Struts框架基于MVC模式 C Struts框架容易引起流程复杂、构造不清晰等问题(清晰) D Struts可以有效地减少项目类文献数目二、填空题( 5分)1、调用函数MOD(123,10)返回值为_。2、select round (123.67,1) from
7、 dual;这语句输出值为_。3、创立一种暂时代替变量使用字符是_。4、若v_comm = 2800,X := NVL (V_comm,0) ,则X值为_。5、调用函数INSTR(Here you are,er)返回值为_。三、判断题(10分)1、WHERE子句限制行记录,也可以指定限制分组成果条件。 ()2、具备UNIQUE约束列不能包括各种空值。 ()3、DATE型数据中包括着时间值。 ()4、具备外键约束列可以包括空值。 ()5、如果在类型为char(4)列中输入“hello”,则只能存储hell。 ()6、具有Group by子句查询,其成果是排好序。 ()7、定义游标时,其中sele
8、ct语句不能使用order by子句。(子查询不能用) ()8、过程可以有返回值。 ()9、触发器一定会被激发。 ()10、instead of触发器只是基于视图。 ()四、写出相应SQL语句(括号内为列名)(10分)1、查询从事各工作(JOB)员工人数。2、查询与员工SMITH在同一部门(DEPTNO)员工姓名(ENAME),工资(SAL)和部门。3、查询所有员工姓名(ENAME),工资(SAL)和工资级别(GRADE)。4、查询获得工资(SAL)最高3个员工信息。5、查询所有员工姓名(ENAME)及其主管姓名(ENAME)。五、简答题(15分)1. 在PL/SQL程序中,进行顾客自定义异常
9、解决3个环节是什么?2. 面向对象特性有哪些方面?并简要简介3. List、Map、Set三个接口,存取元素时,各有什么特点?List 以特定顺序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值。4 .struts1.0和struts2.0区别?如何控制两种框架中单例模式?5. 描述一下如何在struts1.0实现国际化,以两国语言(中文,英文)为例:6.struts中怎么配备form-bean、action7. Hibernate自带分页机制是什么?如果不使用Hibernate自带分页,则采用什么方式分页?8. hibernat
10、e中一对多配备文献返回是什么?9什么样数据适合存储到第二级缓存中?10你普通用spring做什么?11项目中如何体现Spring中切面编程,详细阐明。12 触发触发器数据操作有哪些?13 解释视图含义以及使用视图好处。14 简述ORACLE中5种约束及其作用。15 ORACLE中过程和函数异同点。六、编程题(30分)1、创立一种PL/SQL块,依照顾客输入编号,在emp表中查询出该编号员工姓名、部门号及其主管编号,要有异常解决。2、创立一种PL/SQL块,依照顾客输入工作,从emp表中逐条输出从事这一工作每位员工编号、姓名和受雇如期,每条信息格式如下:(用游标实现)编号 姓名 受雇日期7751
11、 JOHN 95-12-313、编写一种函数,用于判断EMP表中某一工作(JOB)与否存在,若EMP表存在此工作名称,则返回TRUE,否则返回FALSE。4、编写一触发器,在EMP表执行插入或修改前被激发,此触发器将对员工工资(SAL)超过5000进行报错,不能插入或修改,不超过5000才将员工编号、工作及当时日期(SYSDATE)插入UP_EMP表(注:此表已建好,表构造为UP_EMP(EMPNO NUMBER(4),SAL NUMBER(7,2),UDETE DATE)5下面程序输出成果是多少?import java.util.Date;public class Test extends
12、Date public static void main(String args) new Test().test(); public void test() System.out.println(super.getClass().getName(); 6下面程序代码输出成果是多少?public class smallT public static void main(String args) smallT t = new smallT(); int b = t.get(); System.out.println(b); public int get() try return 1 ; fina
13、lly return 2 ; 7子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。 8去掉一种Vector集合中重复元素 9有一种字符串,其中包括中文字符、英文字符和数字字符,请记录和打印出各个字符个数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,Departmen
14、tid number(2)Table Departments Structure:Departmentid number(2) Primary Key,DepartmentName VARCHAR2(25). (1)基于上述EMPLOYEES表写出查询:写出雇用日期在今年,或者工资在1000,之间,或者员工姓名(last_name)以Obama打头所有员工,列出这些员工所有个人信息。(2) 基于上述EMPLOYEES表写出查询:查出部门平均工资不不大于1800元部门所有员工,列出这些员工所有个人信息。()(3) 基于上述EMPLOYEES表写出查询:查出个人工资高于其所在部门平均工资员工,列出
15、这些员工所有个人信息及该员工工资高出部门平均工资比例。答案:1答案:ABD2答案: D3答案:BC4答案:AB 5答案AC 6答案:A,G 7答案:A8A B C D E9A B C D E10A B D11A B C12B D13A C14A B C15A B C16答案:C二 填空3 123.7 & 2800 2三判断 四写出相应SQL语句1Select job,count(*) from emp group by job;2Select ename,sal,deptno from emp where deptno=(select deptno from emp where ename=S
16、MITH);3Select ename,sal,grade from emp,salgrade where sal between losal and hisal;4Select * from (select * from emp order by sal desc) where rownum=3;5Select e1.ename empname,e2.ename mgrname from emp e1,emp e2 where e1.mgr=e2.empno;五简答1可以通过声明和发布来截获自定义异常。一、在声明某些为声明自定义异常名。二、在执行某些使用 RAISE 语句显式地发布异常。三、
17、在相应异常解决例程中引用已声明异常。2(1).抽象:抽象就是忽视一种主题中与当前目的无关那些方面,以便更充分地注意与当前目的关于方面。抽象并不打算理解所有问题,而只是选取其中一某些,暂时不用某些细节。抽象涉及两个方面,一是过程抽象,二是数据抽象。 (2).继承:继承是一种联结类层次模型,并且容许和勉励类重用,它提供了一种明确表述共性办法。对象一种新类可以从既有类中派生,这个过程称为类继承。新类继承了原始类特性, 新类称为原始类派生类(子类),而原始类称为新类基类(父类)。派生类可以从它基类那里继承办法和实例变量,并且类可以修改或增长新办法使之更适合特殊需要。 (3).封装:封装是把过程和数据包
18、围起来,对数据访问只能通过已定义界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装对象,这些对象通过一种受保护接口访问其她对象。 (4). 多态性:多态性是指容许不同类对象对同一消息作出响应。多态性涉及参数化多态性和包括多态性。多态性语言具备灵活、抽象、行为共享、代码共享优势,较好解决了应用程序函数同名问题。List 以特定顺序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值。3List 以特定顺序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value
19、可多值4a、Action类:struts1.2规定Action类继承一种基类。struts2.0 Action规定继承ActionSupport基类b、线程模式struts1.2 Action是单例模式并且必要是线程安全,由于仅有一种Action实例来解决所有祈求。单例方略限制了Struts1.2 Action能做事情,并且开发时特别小心。Action资源必要是线程安全或同步。struts2.0 Action为每一种祈求产生一种实例,因而没有线程安全问题。c、Servlet依赖struts1.2 Action依赖于Servlet API,由于当一种Action被调用时HttpServletRe
20、quest和HttpServletResponse被传递给execut办法。struts2.0 Action不依赖于容器,容许Action脱离容器单独测试。如果需要,Struts2 Action依然可以访问初始Request和Response。但是,其她元素减少或者消除了直接访问HttpServletRequest和HttpServletResponse必要性。d、可测性测试struts1.2 Action一种重要问题是execute办法暴露了Servlet API(这使得测试要依赖于容器)。一种第三方扩展:struts TestCase提供了一套struts1.2模仿对象来进行测试。Stru
21、ts2.0 Action可以通过初始化、设立属性、调用办法来测试,“依赖注入”也使得测试更容易。51. 在工程中加入Struts支持2. 编辑ApplicationResource.properties文献,在其中加入要使用国际化信息,例如: lable.welcome.china=Welcome!3. 创立英文资源文献ApplicationResource_en.properites4. 创立暂时中文资源文献ApplicationResource_temp.properites 例如:lable.welcom.china=中华人民共和国欢迎您!5. 对暂时中文资源文献进行编码转换。可以使用m
22、yeclipse插件,也可以在dos下执行:native2ascii -encoding gb2312 ApplicationResource_temp.properties ApplicationResource_zh_CN.properties6. 在jsp中加入strutsbean标记库 显示信息:可以在struts-config.xml文献中定义各种资源包,而每个资源包可使用key属性指定包名称6.6form-bean配备:(在配备文献struts-config.xml中):name:指定form名字;type指定form类型:包名+类名;action配备:(在配备文献struts-c
23、onfig.xml中)path=”?”attribute=?input=? name=?parameter=?scope=?type=?71、hibernate自带分页机制:获得Session对象后,从Session中获得Query对象。用Query.setFirstResult():设立要显示第一行数据,Query.setMaxResults():设立要显示最后一行数据。2、不使用hibernate自带分页,可采用sql语句分页,如:5:为每页显示记录,2为当前页: select * top 5 from table where tabId not in (select tabId top
24、(2-1)*5 from table);8hibernate中一对多配备文献会相应映射为两张表,并且它们之间关系是一对多。例如:一种student和classes表关系 。一种学生只能是一种班,一种班可以有各种学生。9 1 很少被修改数据 2 不是很重要数据,容许浮现偶尔并发数据 3 不会被并发访问10控制反转IOC AOP11面向切面编程:重要是横切一种关注点,将一种关注点模块化成一种切面。在切面上声明一种告知(Advice)和切入点(Pointcut);告知:是指在切面某个特定连接点(代表一种办法执行。通过声明一种org.aspectj.lang.JoinPoint类型参数可以使告知(Ad
25、vice)主体某些获得连接点信息。)上执行动作。告知中定义了要插入办法。切入点:切入点内容是一种表达式,以描述需要在哪些对象哪些办法上插入告知中定义办法。项目中用到Spring中切面编程最多地方:声明式事务管理。a、定义一种事务管理器b、配备事务特性(相称于声明告知。普通在业务层类某些办法上定义事务)c、配备哪些类哪些办法需要配备事务(相称于切入点。普通是业务类办法上)12Insert 条件谓词 inserting;Update条件谓词 updating;Delete 条件谓词 deleting。13视图是一种Oracle对象,是来自一张或多张表或视图中数据子集逻辑表达。特点:限制对数据库访问
26、;容易实现数据复杂查询;维护数据独立性;对于相似数据可以产生不同视图。14Primary key 保证非空且唯一;Foreign key 保证引用完整性;Unique 保证列或者列组合中每个值都是唯一;Check 限制每条记录都要满足条件;Not null 保证该列不能保存空值。15两者都带有0个或各种参数,参数可以具备模式。两者都是PL/SQL语句块不同形式,均有声明段、可执行段以及异常段。两者都可以存储在数据库中或在语句块中声明两者不同是,过程调用自身是一种PL/SQL语句,而函数总是向调用块返回一种值。16 使用%rowtype属性声明记录变量长处是什么?可以不必懂得数据库中列数量和类型
27、。在运营期间,数据库中列数量和类型也许发生变化。在SELECT语句中使用该属性可以有效地检索表中行。六编程1SET serveroutput ON;Declarev_empno emp.empno%type:=&员工编号;v_ename emp.ename%type;v_deptno emp.deptno%type;v_mgr emp.mgr%type;BeginSELECT ename,deptno,mgr INTO v_ename,v_deptno,v_mgr from emp WHERE empno=v_empno;DBMS_OUTPUT.PUT_LINE(员工|v_ename|在部门|
28、v_deptno|主管|v_mgr);EXCEPTIONWHEN NO_DATA_FOUND THENDBMS_OUTPUT.PUT_LINE(没有此员工);END;2DeclareCursor emp_cur(v_job emp.job%TYPE) isSelect empno,ename,hiredate from emp where job=v_job;v_empno emp.empno%TYPE;v_ename emp.ename%TYPE;v_hiredate emp.hiredate%TYPE;BEGINOPEN emp_cur(upper(&job);LOOPFetch emp_
29、cur INTO v_empno,v_ename,v_hiredate;Exit when emp_cur%NOTFOUND;DBMS_OUTPUT.PUT_LINE(编号 姓名 工资);DBMS_OUTPUT.PUT_LINE(v_empno|v_ename|v_hiredate);END LOOP;CLOSE emp_cur;END;DeclareCursor emp_cur(v_job emp.job%TYPE) isSelect empno,ename,hiredate from emp where job=v_job;v_empno emp.empno%TYPE;v_ename em
30、p.ename%TYPE;v_hiredate emp.hiredate%TYPE;BEGINFOR i IN emp_cur(upper(&job) LOOPv_empno:=i.empno;v_ename:=i. ename;v_hiredate:=i. hiredate;DBMS_OUTPUT.PUT_LINE(编号 姓名 工资);DBMS_OUTPUT.PUT_LINE(v_empno|v_ename|v_hiredate);END LOOP;END;3CREATE OR REPLACE FUNCTION f_emp(f_job emp.job%TYPE)RETURN BOOLEANI
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1