资源描述
达内科技项目经理入职考试
(JAVA方向 A卷)
考试说明:
本考试为达内科技JAVA产品线项目经理入职考试,考试使用闭卷、笔试的形式。满分100分,考试时间60分钟。考试期间不可打开任何开发和调试工具以及文档,否则,一经发现按照零分处理。
一, 不定项选择(总分45分,每题3分,从11题开始为多选)
1. 在Java中,关于final关键字的说法正确的是: ( A )
A. 如果修饰局部变量,必须初始化
B. 如果修饰类,则该类只能被一个子类继承
C. 如果修饰方法,则该方法不能在子类中被覆盖
D. 如果修饰方法,则该方法所在的类不能被继承
2. 关于抽象类的说法正确的是: ( B )
A. 抽象类中一定包含抽象方法,否则是出现编译错误
B. 包含抽象方法的类一定是抽象类
C. 抽象方法可以没有方法体,也可以有方法体
D. 抽象类的子类一定不是抽象类
3. 下列关于JVM的说法错误的是: ( A )
A. JVM的栈空间用来存储方法调用时的临时变量,当调用新方法时,新方法的存储空间入栈,当方法调用结束时,方法的空间出栈。
B. JVM的堆空间是用来存储对象的空间,该空间由JVM自动管理。
C. 我们可以通过设置参数来调整JVM的栈空间和堆空间的大小。
D. 一个程序运行时,只有一个栈。
4. 要从员工表中查询所有姓Smith的人,但是并不能确定所有Smith的大小写,以下哪条语句能解决问题?
( D )
A. SELECT last_name, first_name FROM emp WHERE last_name=’smith’
B. SELECT last_name, first_name FROM emp WHERE UPPER(last_name)=’smith’
C. SELECT last_name, first_name FROM emp WHERE last_name=UPPER(‘smith’)
D. SELECT last_name, first_name FROM emp WHERE LOWER(last_name)=’smith’
5. 看下面的代码,说法正确的是( B )
<bean id="userTable" class="com.xfaccp.bean.UserTable">
<property name="userName">
<value>ACCP</value>
</property>
</bean>
A.其中<property name="userName">的userName是UserTable中的属性,可以不要get、set方法。
B.其中<property name="userName">的userName是UserTable中的属性,可以不要get方法,但是一定要有set方法
C.其中<property name="userName">的userName是UserTable中的属性,可以不要set方法,但是一定要有get方法
D.其中<property name="userName">的userName是UserTable中的属性,一定要有get和set方法
6. 以下程序将ArrayList中的数据取出,转换后存入整形数组,程序最有可能报告何种异常。
( D )
public class Test1{
public static void main(String[] args){
List list = new ArrayList();
list.add(3.14);
list.add(4.13);
list.add(1.43);
int[] arr = new int[4];
for(int I = 0;i<list.size();i++){
arr[i]=(Integer)list.get(i);
}
}
}
A. ArrayIndexOutOfBoundsException
B. ArithmeticException
C. NullPointerException
D. ClassCastException
7. 以下程序在控制台输出“Say Hello!”:
在Eclipse中运行该程序产生如下的错误信息:
以下哪一项是正确的修改方法: ( D )
A. 将main方法的修饰符声明为 public static
B. 将main方法的形参定义为: String[] args
C. (A),(B)两项都需要修改
D. 将main方法的形参定义为: java.lang.String[] args
8. 判断下面句子,将返回什么值? ( C )
SELECT id_number, description, price FROM inventory
WHERE manufacturer_id IN (SELECT manufacturer_id FROM inventory
WHERE price > 8.00 OR quantity > 1000);
A.返回单价大于 8.00 且数量大于 1000 的存货的货号、种类、单价信息
B.返回单价大于 8.00 或者数量大于 1000 的存货的货号、种类、单价信息.
C.返回单价大于8.00或者数量大于 1000且有制造商号的存货的货号、种类、单价信息.
D.返回单价大于8.00或者数量大于1000的制造商的所有存货的货号、种类、单价信息.
9. 以下是login.jsp 文件的代码片断:
<%@ page isELIgnored="false"%>
<html>
<body>
<FORM action="login.jsp" method="GET">
<input type="text" name="name" value="${param['name']}">
<input type="submit" value="提交">
</FORM>
<P>
用户名为: ${param.name}
</body>
</html>
以下( C )描述正确。
A.发生运行错误
B.页面会出现一文本框,并且文本框中内容为${param['name']}
C.当用户输入名字并单击“提交”按钮时,在同一页面中的“用户名为:”字样后面会显示用户输入
的内容
D.当用户输入名字并单击“提交”按钮时,在同一页面中的“用户名为:”字样后面会显示${param.name}
10. 对于每一个网站访问用户都要访问的变量,应该将它设为变量(D )。
A. Session B. Request C. Response D. Application
11. 下列关于继承的说法正确的是: ( CD )
A. 子类构造函数一定会调用父类构造函数。
B. 构造函数的第一行一定是super()或this();而且,这样的调用也只能出现在构造函数的第一行。
C. 任何时候,将父类对象强制转换为其子类的对象,在编译时都能通过。
D. 如果(a instanceof A)的值为true,则a可以转换为A类型。
12. 已知如下代码:( )
public class Test{
public static void main(String arg[] ){
int i = 5;
do{ System.out.print(i);
}while(--i>5);
System.out.print(“finished”);
}
}
执行后的输出是什么( AD )
A. 5 B. 4 C. 6 D. finished
13. 关于JSP 生命周期的叙述,下列哪些为真?( ABCD )
A. JSP 会先解释成Servlet 源文件,然后编译成Servlet 类文件
B. 每当用户端运行JSP 时,jspInit()方法都会运行一次
C. 每当用户端运行JSP 时,_jspService()方法都会运行一次
D. 每当用户端运行JSP 时,jspDestroy()方法都会运行一次
14. 下面是IOC自动装载方法的是( AB )
A.byName
B.byType
C.constructor
D.byMethod
15. 请看下列代码:
public class Blip{
protected int blipvert(int x){
return 0;
}
}
Class Vert extends Blip{
<插入代码>
}
在<插入代码>处填入选项中的代码,使Vert累没有编译错误的是:( AC )
A. public int blipvert(int x){return 0;}
B. private int blipvert(int x){return 0;}
C. private int blipvert(long x){return 0;}
D. protected long blipvert(int x){return 0;}
二、 代码填空(总分32分)
1.以下程序用来完成对数组的排序,请在空白处填写正确的代码。(10分)
package com.tarena.pm_exam.javase.case01;
public class Test09 {
public static void main(String[] args) {
int[] arr = new int[100];
for(int i=0;i<arr.length;i++){
arr[i] = (int)(Math.random()*10000);
}
for(int i=1;i<arr.length;i++){
for(int j=0;j<arr.length-1;j++){
if(arr[j]>arr[i]){
int temp = arr[i];
for(int k=i-1; 【1】 ;k--){
【2】
}
arr[j]=temp;
}
}
}
}
}
请在【1】号位置填入正确的代码: _k<arr.length__ _______________________
请在【2】号位置填入正确的代码: arr[k]=arr[j]
2.以下代码向一个List中插入数据,运行将报告异常,请简述异常产生的原因,及解决办法。(12分)
错误原因:
List.remove(“java”) 在使用迭代器遍历集合时不能使用集合删除,否则会报并发异常
修改代码:
It.remove(“java”)
3.在表单中存在一组名称为checkbox1的多选框,如何才能取得这些多选框内的值?(10分)
在页面中用javaScript方式取值
<script>
function sss(){
var str =___________ 【1】_______________ ;
var checkValue = new Array();
for(var i=0;i<str.length;i++){
if(str[i].checked){
alert(str[i].value);
}
}
}
</script>
在Servlet中取值
String str[] = ____________【2】____________
请在【1】号位置填入正确的代码: doucment.getElementByName(“checkbox1”)
请在【2】号位置填入正确的代码: request.getParameterValues(“checkbox1”) ;
三、 编程能力:(总分23分)
1. 已知emp表和dept表,请完成如下查询(10分)
1) 查询emp表中的第3-5条记录,无需排序。
2)查询各部门的平均绩效,如果绩效为null,则按数值0进行统计。其中emp表中,deptno列表示员工所属部门,comm列表示绩效。
答:
1)Select * from emp limit 3,3;
2)select nvl(AVG(comm),0) from dept group by deptno
2. (以下两题任选其一,13分)
1)请补充如下spring-MVC.xml文件,已给出如下提时代码,请完成数据库配置部分的代码。
db.properties文件内容如下:
# src/db.properties
driver=oracle.jdbc.OracleDriver
url=jdbc:oracle:thin:@192.168.176.239:1521:orcl
user=openlab
pwd=open123
配置文件内容:
<!-- src/spring-mvc.xml -->
<context:component-scan base-package="com.tarena"/>
<util:properties id="db" location="classpath:db.properties"/>
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- dataSource Bean 必须实行javax.sql.DataSource接口, 管理数据库连接的Bean组件 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!--请补充代码,完成数据库连接,并且设置连接池的最大值和最小值>
<property name=”driverClassName” value=”${driver}”/>
<property name=”url” value=”${url}”/>
<property name=”username” value=”${user}”/>
<property name=”password” value=”${pwd}”/>
</bean>
</beans>
2)编写一个单例的java 类,该单例使用延迟装载的方式。(类名:SingletonClass)
展开阅读全文