java笔试面试题及答案.docx
- 文档编号:25992726
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:22
- 大小:26.41KB
java笔试面试题及答案.docx
《java笔试面试题及答案.docx》由会员分享,可在线阅读,更多相关《java笔试面试题及答案.docx(22页珍藏版)》请在冰豆网上搜索。
java笔试面试题及答案
一.选取题(30分)
1.下列哪些状况可以终结当前线程运营?
a.抛出一种异常时。
b.当该线程调用sleep()办法时。
c.当创立一种新线程时。
(与当迈进程无关)
d.当一种优先级高线程进入就绪状态时。
2.下面哪些为构造函数特性定义
a.在类中声明构造函数时,名称应当与类名相似
b.具备重载特性,可以建立各种相似名称
c.使用类建立新对象时,会自动执行构造函数,因而在构造函数内设定变量初值或进行内存分派
d.以上都是
3.关于异常解决机制论述哪些对的
a.catch某些捕获到异常状况时,才会执行finally某些(无论与否有毛病,都执行)
b.当try区段程序发生异常时,才会执行catch区段程序
c.无论程序与否发生错误及捕获到异常状况,都会执行finally某些
d.以上都是
4.下列关于接口论述中哪些是对的
a.接口中数据必要设定初值(就是接口中常量)
b.接口中办法都是抽象办法
c.接口可以声明引用
d.以上都对的
5.Java语言中,办法重写(Overriding)和重载(Overloading)是多态性不同体现。
下边哪些说法是对?
A.重写是父类与子类之间多态性一种体现。
B.重写是一种类中多态性一种体现。
C.重载是一种类中多态性一种体现。
D.重载是父类与子类之间多态性一种体现。
6.在Struts应用视图中包括哪些组件?
A.JSP
B.Servlet
C.ActionServlet
D.Action
E.代表业务逻辑或业务数据JavaBean
F.EJB
G.客户化标签
7.struts框架中,关于FormBean,下列哪些说法是对的:
AFormBean是一种数据bean,重要用来封装表单提交上来数据,并把这些数据传递给Action
B在FormBean中可以对页面上传递来参数进行一下格式上验证,这种验证是一种客户端验证
C顾客每次提交表单,都会产生一种新FormBean实例
D动态FormBean不能进行验证操作
8哪些办法可以进行servlet调试?
()
A、使用打印语句;在桌面计算机上运营服务器
B、使用ApacheLog4J
C、使用IDE集成调试器
D、直接查看HTML源码?
?
?
?
E、返回错误页面给客户
9、下面关于servlet功用说法对的有哪些?
()
A、读取客户程序发送来显式数据
B、读取客户程序发送来隐式数据
C、生成相应成果
D、发送显式数据给客户程序
E、发送隐式数据给客户程序
10、下面关于session用法哪些是错误?
(
A、HttpSessionsession=newHttpSession();request.getSession();
B、Stringhaha=(String)session.getParameter(Attribute)(“haha”);
C、session.removeAttribute(“haha”);
D、session.setAttribute(“haha”,值);
11、关于 includepage="RelativeURL"/>说法对的有哪些? () A、URL输出在祈求时被插入到JSP页面中 B、不能具有影响整个页面JSP内容 C、被包括文献变化后不需更改使用它页面 D、被包括文献更改后,需要手动地更新使用它页面(不需要手动更新) 12、关于bean说法对的有哪些? () A、具备一种零参数(空)构造函数(不是必要) B、不应当有公开实例变量(字段) C、所有属性都必要通过getXxx和setXxx办法来访问 D、布尔型属性使用isXxx,而非getXxx 13、下面关于MVC说法错误有哪些? () A、必要使用复杂框架 B、使用内建RequestDispatcher可以较好地实现MVC C、当其中一种组件发生变化时候,MVC影响整个系统设计 D、咱们可以用MVC来解决单个祈求 14、下面标签中哪些是JSTL标签? () A、 out…/> B、 set…/> C、 if…/> D、 errors…/> 15、struts框架,错误是,下面那些说法对的? AStruts中无法完毕上传功能 BStruts框架基于MVC模式 CStruts框架容易引起流程复杂、构造不清晰等问题(清晰) DStruts可以有效地减少项目类文献数目 二、填空题(5分) 1、调用函数MOD(123,10)返回值为___。 2、selectround(123.67,1)fromdual;这语句输出值为______。 3、创立一种暂时代替变量使用字符是_____。 4、若v_comm=2800,X: =NVL(V_comm,0),则X值为____。 5、调用函数INSTR(‘Hereyouare’,’er’)返回值为___。 三、判断题(10分) 1、WHERE子句限制行记录,也可以指定限制分组成果条件。 () 2、具备UNIQUE约束列不能包括各种空值。 () 3、DATE型数据中包括着时间值。 () 4、具备外键约束列可以包括空值。 () 5、如果在类型为char(4)列中输入“hello”,则只能存储hell。 () 6、具有Groupby子句查询,其成果是排好序。 () 7、定义游标时,其中select语句不能使用orderby子句。 (子查询不能用)() 8、过程可以有返回值。 () 9、触发器一定会被激发。 () 10、insteadof触发器只是基于视图。 () 四、写出相应SQL语句(括号内为列名)(10分) 1、查询从事各工作(JOB)员工人数。 2、查询与员工SMITH在同一部门(DEPTNO)员工姓名(ENAME),工资(SAL)和部门。 3、查询所有员工姓名(ENAME),工资(SAL)和工资级别(GRADE)。 4、查询获得工资(SAL)最高3个员工信息。 5、查询所有员工姓名(ENAME)及其主管姓名(ENAME)。 五、简答题(15分) 1.在PL/SQL程序中,进行顾客自定义异常解决3个环节是什么? 2.面向对象特性有哪些方面? 并简要简介 3.List、Map、Set三个接口,存取元素时,各有什么特点? List以特定顺序来持有元素,可有重复元素。 Set无法拥有重复元素,内部排序。 Map保存key-value值,value可多值。 4.struts1.0和struts2.0区别? 如何控制两种框架中单例模式? 5.描述一下如何在struts1.0实现国际化,以两国语言(中文,英文)为例: 6.struts中怎么配备form-bean、action 7.Hibernate自带分页机制是什么? 如果不使用Hibernate自带分页,则采用什么方式分页? 8.hibernate中一对多配备文献返回是什么? 9.什么样数据适合存储到第二级缓存中? 10你普通用spring做什么? 11项目中如何体现Spring中切面编程,详细阐明。 12触发触发器数据操作有哪些? 13解释视图含义以及使用视图好处。 14简述ORACLE中5种约束及其作用。 15ORACLE中过程和函数异同点。 六、编程题(30分) 1、创立一种PL/SQL块,依照顾客输入编号,在emp表中查询出该编号员工姓名、部门号及其主管编号,要有异常解决。 2、创立一种PL/SQL块,依照顾客输入工作,从emp表中逐条输出从事这一工作每位员工编号、姓名和受雇如期,每条信息格式如下: (用游标实现) 编号姓名受雇日期 7751JOHN95-12-31 3、编写一种函数,用于判断EMP表中某一工作(JOB)与否存在,若EMP表存在此工作名称,则返回TRUE,否则返回FALSE。 4、编写一触发器,在EMP表执行插入或修改前被激发,此触发器将对员工工资(SAL)超过5000进行报错,不能插入或修改,不超过5000才将员工编号、工作及当时日期(SYSDATE)插入UP_EMP表 (注: 此表已建好,表构造为UP_EMP(EMPNONUMBER(4),SALNUMBER(7,2),UDETEDATE)) 5下面程序输出成果是多少? importjava.util.Date; publicclassTestextendsDate{ publicstaticvoidmain(String[]args){ newTest().test(); } publicvoidtest(){ System.out.println(super.getClass().getName()); } } 6下面程序代码输出成果是多少? publicclasssmallT { publicstaticvoidmain(Stringargs[]) { smallTt=newsmallT(); intb=t.get(); System.out.println(b); } publicintget() { try { return1; } finally { return2; } } } 7子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。 8去掉一种Vector集合中重复元素 9有一种字符串,其中包括中文字符、英文字符和数字字符,请记录和打印出各个字符个数 10.xxx公司sql面试 TableEMPLOYEESStructure: EMPLOYEE_IDNUMBERPrimaryKey, FIRST_NAMEVARCHAR2(25), LAST_NAMEVARCHAR2(25), Salarynumber(8,2), HiredDateDATE, Departmentidnumber (2) TableDepartmentsStructure: Departmentidnumber (2)PrimaryKey, DepartmentNameVARCHAR2(25). (1)基于上述EMPLOYEES表写出查询: 写出雇用日期在今年,或者工资在[1000,]之间,或者员工姓名(last_name)以’Obama’打头所有员工,列出这些员工所有个人信息。 (2)基于上述EMPLOYEES表写出查询: 查出部门平均工资不不大于1800元部门所有员工,列出这些员工所有个人信息。 () (3)基于上述EMPLOYEES表写出查询: 查出个人工资高于其所在部门平均工资员工,列出这些员工所有个人信息及该员工工资高出部门平均工资比例。 答案: 1答案: ABD 2答案: D 3答案: BC 4答案: AB 5答案AC 6答案: A,G 7答案: A 8ABCDE 9ABCDE 10ABD 11ABC 12BD 13AC 14ABC 15ABC 16答案: C 二填空 3123.7&28002 三判断 ××√√√√×√×√ 四写出相应SQL语句 1Selectjob,count(*)fromempgroupbyjob; 2Selectename,sal,deptnofromempwheredeptno=(selectdeptnofromempwhereename=’SMITH’); 3Selectename,sal,gradefromemp,salgradewheresalbetweenlosalandhisal; 4Select*from(select*fromemporderbysaldesc)whererownum<=3; 5Selecte1.enameempname,e2.enamemgrnamefromempe1,empe2wheree1.mgr=e2.empno; 五简答 1 可以通过声明和发布来截获自定义异常。 一、在声明某些为声明自定义异常名。 二、在执行某些使用RAISE语句显式地发布异常。 三、在相应异常解决例程中引用已声明异常。 2 (1).抽象: 抽象就是忽视一种主题中与当前目的无关那些方面,以便更充分地注意与当前目的关于方面。 抽象并不打算理解所有问题,而只是选取其中一某些,暂时不用某些细节。 抽象涉及两个方面,一是过程抽象,二是数据抽象。 (2).继承: 继承是一种联结类层次模型,并且容许和勉励类重用,它提供了一种明确表述共性办法。 对象一种新类可以从既有类中派生,这个过程称为类继承。 新类继承了原始类特性,新类称为原始类派生类(子类),而原始类称为新类基类(父类)。 派生类可以从它基类那里继承办法和实例变量,并且类可以修改或增长新办法使之更适合特殊需要。 (3).封装: 封装是把过程和数据包围起来,对数据访问只能通过已定义界面。 面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装对象,这些对象通过一种受保护接口访问其她对象。 (4).多态性: 多态性是指容许不同类对象对同一消息作出响应。 多态性涉及参数化多态性和包括多态性。 多态性语言具备灵活、抽象、行为共享、代码共享优势,较好解决了应用程序函数同名问题。 List以特定顺序来持有元素,可有重复元素。 Set无法拥有重复元素,内部排序。 Map保存key-value值,value可多值。 3List以特定顺序来持有元素,可有重复元素。 Set无法拥有重复元素,内部排序。 Map保存key-value值,value可多值 4a、Action类: struts1.2规定Action类继承一种基类。 struts2.0Action规定继承ActionSupport基类 b、线程模式 struts1.2Action是单例模式并且必要是线程安全,由于仅有一种Action实例来解决所有祈求。 单例方略限制了Struts1.2Action能做事情,并且开发时特别小心。 Action资源必要是线程安全或同步。 struts2.0Action为每一种祈求产生一种实例,因而没有线程安全问题。 c、Servlet依赖 struts1.2Action依赖于ServletAPI,由于当一种Action被调用时HttpServletRequest和HttpServletResponse被传递给execut办法。 struts2.0Action不依赖于容器,容许Action脱离容器单独测试。 如果需要,Struts2Action依然可以访问初始Request和Response。 但是,其她元素减少或者消除了直接访问HttpServletRequest和HttpServletResponse必要性。 d、可测性 测试struts1.2Action一种重要问题是execute办法暴露了ServletAPI(这使得测试要依赖于容器)。 一种第三方扩展: strutsTestCase 提供了一套struts1.2模仿对象来进行测试。 Struts2.0Action可以通过初始化、设立属性、调用办法来测试,“依赖注入”也使得测试更容易。 5 1.在工程中加入Struts支持 2.编辑ApplicationResource.properties文献,在其中加入要使用国际化信息,例如: lable.welcome.china=Welcome! ! ! 3.创立英文资源文献ApplicationResource_en.properites 4.创立暂时中文资源文献ApplicationResource_temp.properites例如: lable.welcom.china=中华人民共和国欢迎您! 5.对暂时中文资源文献进行编码转换。 可以使用myeclipse插件,也可以在dos下执行: native2ascii-encodinggb2312ApplicationResource_temp.propertiesApplicationResource_zh_CN.properties 6.在jsp中加入strutsbean标记库<%@tagliburi="/WEB-INF/struts-bean.tld"prefix="bean"%> 显示信息: 可以在struts-config.xml文献中定义各种资源包,而每个资源包可使用key属性指定包名称 6.6form-bean配备: (在配备文献struts-config.xml中): name: 指定form名字;type指定form类型: 包名+类名; action配备: (在配备文献struts-config.xml中) path=”? ” attribute="? " input="? " name="? " parameter="? " scope="? " type="? " 71、hibernate自带分页机制: 获得Session对象后,从Session中获得Query对象。 用Query.setFirstResult(): 设立要显示第一行数据, Query.setMaxResults(): 设立要显示最后一行数据。 2、不使用hibernate自带分页,可采用sql语句分页, 如: 5: 为每页显示记录,2为当前页: select*top5fromtablewheretabIdnotin(selecttabIdtop(2-1)*5fromtable); 8hibernate中一对多配备文献会相应映射为两张表,并且它们之间关系是一对多。 例如: 一种student和classes表关系。 一种学生只能是一种班,一种班可以有各种学生。 91很少被修改数据2不是很重要数据,容许浮现偶尔并发数据3不会被并发访问 10控制反转IOCAOP 11面向切面编程: 重要是横切一种关注点,将一种关注点模块化成一种切面。 在切面上声明一种告知(Advice)和切入点(Pointcut);告知: 是指在切面某个特定连接点(代表一种办法执行。 通过声明一种org.aspectj.lang.JoinPoint类型参数可以使告知(Advice)主体某些获得连接点信息。 )上执行动作。 告知中定义了要插入办法。 切入点: 切入点内容是一种表达式,以描述需要在哪些对象哪些办法上插入告知中定义办法。 项目中用到Spring中切面编程最多地方: 声明式事务管理。 a、定义一种事务管理器 b、配备事务特性(相称于声明告知。 普通在业务层类某些办法上定义事务) c、配备哪些类哪些办法需要配备事务(相称于切入点。 普通是业务类办法上) 12Insert条件谓词inserting; Update条件谓词updating; Delete条件谓词deleting。 13视图是一种Oracle对象,是来自一张或多张表或视图中数据子集逻辑表达。 特点: 限制对数据库访问;容易实现数据复杂查询;维护数据独立性;对于相似数据可以产生不同视图。 14Primarykey保证非空且唯一; Foreignkey保证引用完整性; Unique保证列或者列组合中每个值都是唯一; Check限制每条记录都要满足条件; Notnull保证该列不能保存空值。 15两者都带有0个或各种参数,参数可以具备模式。 两者都是PL/SQL语句块不同形式,均有声明段、可执行段以及异常段。 两者都可以存储在数据库中或在语句块中声明 两者不同是,过程调用自身是一种PL/SQL语句,而函数总是向调用块返回一种值。 16使用%rowtype属性声明记录变量长处是什么? 可以不必懂得数据库中列数量和类型。 在运营期间,数据库中列数量和类型也许发生变化。 在SELECT语句中使用该属性可以有效地检索表中行。 六编程 1SETserveroutputON; Declare v_empnoemp.empno%type: =’&员工编号’; v_enameemp.ename%type; v_deptnoemp.deptno%type; v_mgremp.mgr%type; Begin SELECTename,deptno,mgrINTOv_ename,v_deptno,v_mgrfromempWHEREempno=v_empno; DBMS_OUTPUT.PUT_LINE(‘员工’||v_ename||’在部门’||’v_deptno’||’主管’||v_mgr); EXCEPTION WHENNO_DATA_FOUNDTHEN DBMS_OUTPUT.PUT_LINE(‘没有此员工’); END; 2Declare Cursoremp_cur(v_jobemp.job%TYPE)is Selectempno,ename,hiredatefromempwherejob=v_job; v_empnoemp.empno%TYPE; v_enameemp.ename%TYPE; v_hiredateemp.hiredate%TYPE; BEGIN OPENemp_cur(upper(‘&job’)); LOOP Fetchemp_curINTOv_empno,v_ename,v_hiredate; Exitwhenemp_cur%NOTFOUND; DBMS_OUTPUT.PUT_LINE(‘编号姓名工资’); DBMS_OUTPUT.PUT_LINE(v_empno||v_ename||v_hiredate); ENDLOOP; CLOSEemp_cur; END; Declare Cursoremp_cur(v_jobemp.job%TYPE)is Selectempno,ename,hiredatefromempwherejob=v_job; v_empnoemp.empno%TYPE; v_enameemp.ename%TYPE; v_hiredateemp.hiredate%TYPE; BEGIN FORiINemp_cur(upper(‘&job’))LOOP v_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); ENDLOOP; END; 3CREATEORREPLACEFUNCTIONf_emp(f_jobemp.job%TYPE) RETURNBOOLEAN I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 笔试 试题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)