中xxx科技公司java笔试题
今天去参加一个公司的面试,去先做了一份笔试题,妈的,太他妈难了(对于我来说,最后做完一个员工说你是不是投错简历了,都是空白,我说我做的大部分都对了..最后面试都没有,就让我回来了,呵呵),抽空之余,我把试题弄到了手中,如下:
数据结构基础:
1.现有堆栈,操作如下PUSH(1);PUSH(2);PUSH(3);POP();PUSH(4);POP();POP();PUSH(5);POP()
请问弹出元素的顺序是什么?
2.请填写以卜算法的执行效率:冒泡排序____,选择排序_____,快速排序_____,归并排序_____
3.以下数据结构中属于非线性数据结构是(
A.队列 B.数组 C.二叉树 D.栈
4有如下二叉树,后序遍历的顺序是:_
数据库基础:
5.有数据表SCORES,其中有字段USERNAME(VARCHAR), SCORE(INT)}请写出SQL语句查询其中分数最高的人名。
6.简单DDL操作:
1)创建一张学生表Students,包含以下信息,学号ID(唯一),姓名NAME,年龄AGE,性别SEX,家庭住址ADDRESS
2)修改学生表的结构,添加一列信息,联系电话PHONE
3)修改学生表的结构,删除一列信息,家庭住址
7.现有学生表STUDENTS(STU_ ID(IN,PK),NAME(VARCHAR)),学科表LESSONS(LESS_ID(INT,PK),NAME(VARCHAR)),成绩表SCORES(STU_ ID(INT,FK),LESS_ID(INT,FK), SCORE(INT)),请用SQL语句列出平均成绩低于60分的学生的名称和平均成绩,并按平均分数从低到高排列。
JAVA基础:
8.下面关于垃圾收集的说法正确的是:()
A.一旦一个对象成为垃圾,就立刻被收集掉
B.对象空间被收集掉之前,会执行该对象的finalize方法
C.finalize方法和C++的析构函数是一样的
D.垃圾收集不能收集到循环依赖的对象
9.面哪些不是Java的简单数据类型?()
A. short B. Boolean C. Double D. float
10.下列语句哪一个正确:()
A. Java程序经编译后会产生machine code
B. Java程序经编译后会产生byte code
C. Java程序经编译后会产生DLL
D. 以上都不正确
11.执行如下程序代码
a=0;
c=0;
do{
--c;
a=a-1;
} while(a>0};
后。C的值是()
A. 0 B. 1 C.-1 D,死循环
12.以卜程序代码有什么问砚、应如何修改。
public class Test implements Runnable{
private int count=0;
private void runlnMain(){
for (int i=0; i<10; ++i){
count++;
}
} public void run(){
for (int i=0;i<10; ++i){
count++;
}
}
public static void main(String[] args){
Test test=new Test();
(new Thread(test)).start();
test.runlnMain();
}
}
13.以下代码有问质量问题,请指出并改正。
public class Account{
/**
*账户总额
*amount
*/
private long a = 0;
//withdraw
public synchronized void w(long m){
if (a<m)
throw new NotEnoughException(a,m);
a=a-m;
}
//存款deposit
public synchronized void d(long m){
a=a+m;
}
}
JAVA WEB基础:
14.下面各选项中,哪两个选项是相同的:()
A.<%=YoshiBean.size%>
B.<%=YoshiBean.getSize()%>
C.<%=YoshiBean.getProperty("size")%>
D.<jsp:getProperty id="YoshiBean" param='size"/>
E. <jsp:getProperty name="YoshiBean" param="size"/>
F. <jsp:getProperty id="YoshiBean" property="size"/>
G. <jsp:getProperty name="YoshiBean" property="size"/>
15.己知wage.getltem().size()的值是1。要想使执行session.update(wage)时自动执行session.update(wage.getltems().get(0)),必须配置()
A. <set name=" items" inverse=" true" cascade="none" >...</set>
B. <set name--"items" inverse="false" cascade="none">...</set>
C. <set name--"items" inverse="true" cascade="all">...</set>
D. <set name="items" inverse="false" cascade="save-update">...</set>
16.在持久化层,对象分为哪些状态?()
A.瞬时(Transient) B.新建(New) C.游离(Detached) D.持久(Persistent)
17.在使用了H ibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的订单数据,下面方法可行的是()。
A.配置客户和订单关联的cascade属性为save-update
B.配置客户和订单关联的cascade属性为all
C.设置多对一关联的inverse属性为true
D.设置多对一关联的inverse属性为false
18.在Hibernate关系映射配置中,inverse属性的含义是()。
A.定义在<one-to-many>节点上,声明要负责关联的维护
B.声明在<set>节点上,声明要对方负责关联的维护
C定义在<one-to-many>节点上,声明对方要负责关联的维护
D.声明在<set>节点上,声明要负责关联的维护
19. Hibernate配置文件中,不包含下面的()
A.“对象一关系映射”信息
B.实体间关联的配置
C. show sql等参数的配置
D.数据库连接信息
20.对Struts2的下列描述中,正确的是:()
A.Action必须是线程安全的
a.每个请求都会生成新的Action对象
C.请求的参数会被自动注入到Action的属性中
D.请求的参数会生成一个ActionForm传入到Action的方法中
21按照MVC设计模式,jsp用于实现:()
A.Model B.View C.Controller D.容器
22. Spring中ApplicationContext能够用到的Bean作用域有()
A. Singleton B. Prototype C. Session D. Response前端基础:
23,下拉菜单中,用户更改表单元素Select中的值时,就会调用()事件处理程序。
A.onChangeB.onFocus C.onMouseOverD.onClick
24.下列哪一项表示的不是按钮。()
A. type="submit" B. type="reset C. type="image" D. type="button"
25.用HTML标记语言编写一个简单的网页,网页最基本的结构是();
A.<html> <head>...</head> <frame>...</frame> </html>
B.<html> <title>...</title> <body>...</bodY> </html>
C.<html> <title>...</title> <frame>...</frame> </html>
D.<html> <head>...</head> <body>...</body> </html>
26. Javascript可以在以下什么地方执行?(
A.服务器端的IE浏览器
B.客户端的1E浏览器
C.在服务器端的tomcat容器里
D.在客户端的tomcat容器里
27.下列哪个样式定义后,内联(非块状)元素可以定义宽度和高度(
A. display:inline B. display:none C. display:block D.display:inheric
28.声明一个对象,给它加上name属性和show方法显示其name值,以下代码中正确的是()
A.var obj=[name:"zhangsan",show:function(){alert(name);]};
B.var obj={name:"zhangsan",show:”alert(this.name)"};
C.var obj={name:"zhangsan",show:function(){alert(name);}};
D.var obj={name:"zhangsan",show:function(){alert(this.name);}};
29. jQuery中$("#button")的选择器是选择()
A. ID为button的元索 B. class为button的元素 C.所有的<button>元素 D.以上所有
30,关于正则表达式声明6位数字的邮编,以下代码正确的是()
A. var reg=/\nd6}/;
B. var reg=\d{6}\;
C. var reg=/\d{6}/;
D.new.RegExp("\d{6}");
31.数据库查询操作慢,通常有什么原因,,可以有哪些解决方法。
32.请简单介绍GC的原理和优缺点,并介绍一下你所知道的回收机制。使用GC
中还会有内存泄漏的情况
33. Java并发编程中都有哪些工具(语言、库等)?
34.请简单描述POST请求和响应的HTTP报文内容
35.请问优化页面加载速度有几种方法。
36. HTML中两栏布局有几种实现方法。
下面是答案区(我自己找的答案,不一定对):
1. 3,4,2,5(最后的1还在栈里面)
2.冒泡排序:稳定的,速度较慢
选择排序:不稳定
快速排序:不稳定
归并排序:
3.c
4.CDBFGEA
9.没有正确答案,(操,这个题出的有问题)
10.B
13.qq群中有人说是用long来表示m不好,可能会超,具体怎么弄不清楚
补充:后来我发现,if执行后抛出异常的话,后面a=a-m就不能在执行了,应该是少了加了一个else.不知道这个算不算错误
14:BG
16.ACD 我感觉B也正确,可是网上搜的答案没有B
20.AB(按照struts2的思想,应该ab都正确)
21.B
23.A
24.C
25.D
26.B
28.D
30.C