A.'A'B.'B'C.'C' D.B
8.下列语句执行后,i的值是(D)
Inti=8,j=16;if(i-1>j)i--;elsej--;
A.15B.16C.7D.8
9.下列语句执行后,k的值是(C)
Inti=10,j=18,k=30;
Switch(j-i){case8:
K++;case9:
K+=2;case10:
K+=3;
defalut:
K/=j;}
A.31B.32C.2D.33
10.下面语句执行后,i的值是(B)
For(intI=0,j=1;i<5;j+=3)i=i+j;
A.4B.5C.6D.7
Javascript基础知识
1.在javascript中,命令按钮(button)支持是事件包括事件(D)
A.onClickB.onChangeC.onSelectD.onSubmit
2.在javascript中,可以使用Date对象的(A)方法返回该对象的日期
A.getDateB.getMonthC.getYearD.getTime
3.那个对象可以获得屏幕的大小(B)、
A.windowB.screenC.navigatorD.screenX
4.setinterval("alert('welcome');",1000);(D)
A.等到1000s后在弹出一个对话框
B.等到1s后弹出一个对话框
C.语句报错,语法有问题
D.每隔1s弹出一个对话框
5.window对象的open方法返回值是(A)
A.没有返回值
B.boolean类型,表示当前窗口是否打开成功
C.返回打开新窗口的对象
D.返回int类型的值,开启窗口的个数
数据库
1.数据库系统的核心是(A)
A.数据库B.数据库管理系统C.数据库模型D.软件工具
2.SQL语言具有的功能(D)
A.关系规范、数据操作、数据控制
B.数据定义、数据操作、数据控制
C.数据定义、数据规范化、数据控制
D.数据定义、关系规范化、数据操作
3.SQL语言的数据操纵语句包括select、insert、update和delete,最重要,也是最频繁使用的语句是(A)
A.selectB.insertC.updateD.delete
4.在关系数据库设计中,设计关系模式是(B)的任务。
A.需求分析阶段
B.感念设计阶段
C.逻辑设计阶段
D.物理设计阶段
5.(C)是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。
A.程序B.命令C.事物D.文件
6.下列sql语句中,创建关系表的是(B)
A.alterB.createC.updateD.insert
7.数据库的(C)是为了保证由授权用户对数据库所做的修改不会影响数据一致性的损失。
A.安全性B.完整性C.并发控制D.恢复
8.数据库进行的基本工作单位。
如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新恢复原状,好像所有的事务从来没有过这些更新,这样保持数据库处于(B)的状态。
A.安全性B.一致性C.完整性D.可靠性
9.对并发操作若不加以控制,可能会带来数据的(D)问题。
A.不安全B.死锁C.死机D.不一致
10.已知表T1中有两行数据,T2表中有三行数据则执行,“selecta,*fromT1a,T2b”后,返回的行数是(C)
A.2B.3C.5D.6
算法题
一、基础篇
1.写出一个singleton的示例代码。
classSingleton{
//私有,静态的类自身实例
privatestaticSingletoninstance=newSingleton();
//私有的构造子(构造器,构造函数,构造方法)
privateSingleton(){}
//公开,静态的工厂方法
publicstaticSingletongetInstance(){
returninstance;
}
}
或者
classLazySingleton{
//初始为null,暂不实例化
privatestaticLazySingletoninstance=null;
//私有的构造子(构造器,构造函数,构造方法)
privateLazySingleton(){}
//公开,静态的工厂方法,需要使用时才去创建该单体
publicstaticLazySingletongetInstance(){
if(instance==null){
instance=newLazySingleton();
}
returninstance;
}
}
2.利用递归算法求N!
(n为一整数型,并且0<=n<10)。
publicintfactorial(intm)
{
if(m<0)
return0;
elseif(m==1)
reteurn1;
elseif(m>1)
returnm*factorial(m-1);
}
1、是否可以继承string类,为什么?
答:
不可以继承string类,因为string类是用final修饰的,是final类。
2、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会执行,什么时候执行,在return前还是后?
答:
会执行,在return前面执行。
3、请写出Test类执行的输出结果
publicclassObjA
{
staticint_param1=0;
privateString_param2=“bjfu”;
publicintgetParam1()
{
return_param1;
}
publicvoidsetParam1(intparam1){
ObjA._param1=param1;
}
publicStringgetParam2(){
return_param2;
}
publicvoidsetParam2(Stringparam2){
_param2=param2;
}
}
publicclassTest
{
staticvoidchangeValue(ObjAobjA)
{
if(null!
=objA)
{
objA.setParam1
(2);
objA.serParam2(“hello!
”);
}
}
staticvoidchangValue(Stringb)
{
If(null!
=b){
b=b.toUpperCase();
}
System.out.println(b);
}
publicstaticvoidmain(String[]args)
{
Stringb=”abc”;
changValue(b);
System.out.println(b);
ObjAobjA=newObjA();
ObjAobjB=newObjA();
changValue(objA);
System.out.println(objA.getParam1());
System.out.println(objA.getParam2());
System.out.println(objB.getParam1());
System.out.println(objB.getParam2());
}
}
答:
ABC
abc
2
hello
2
bifu
4、接口和抽象类的作用和异同?
答:
接口和抽象类都是用来实现多态,实现代码的重用性。
但是两者的区别在于:
(1)接口中不能有构造方法,而抽象类中可以有构造方法。
(2)接口中只能定义静态常量(也是默认形式),而抽象类中可以定义普通成员变量。
(3)接口中只能定义公共的抽象方法,并且方法中不能包含方法体,而抽象类中可以包含普通方法,并且可以是public、protected。
(4)接口中不能包含静态方法,而抽象类中可以有。
(5)一个类可以实现多个接口,但一个类只能继承一个抽象类。
5、编码实现List输出为以“,”分割字符串,要求最后一个字符串后不加“,”;其中List至少有100个String对象,以你认为的最优方式实现
例如Listlist=newArrayList();list.add(“a”);list.add(“b”);
结果为:
Stringresult=”a,b”;
答:
Stringresult=””;
for(inti=0;iresult+=list.get(i)+”,”;
}
result=result.substring(0,result.lastIndexOf(“,”));
6、JSP中有哪些常用的内置对象(至少写出3个),并写出该对象一些常用方法(1-2个即可)
答:
requestgetAttribute(Stringname)返回指定属性的属性值
getParameter(Stringname)返回name指定参数的参数值
getParameterValues(Stringname)返回包含参数name的所有值的数组
responsegetWriter();返回可以向客户端输出字符的一个对象
getCharacterEncoding()返回响应的是何种字符编码
sendRedirect(Stringlocation);重新定向客户端请求
sessiongetId();返回session创建时JSP引擎为它设置的惟一ID号
getValueNames();返回一个包含此session中的所有可用属性的数组
7、forward和redirect的区别?
答:
(1)从地址栏显示来说
forward是转发,是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取出来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址。
redirect是服务器根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,所以地址栏显示的是新的URL;
(2)从数据共享来说
forward转发页面和转发到的页面可以共享request里面的数据
redirect不能共享数据
(3)从运用地方来说
forward一般用于登陆的时候,根据角色转发到相应的模块
redirect一般用于用户注销登陆时返回主页面和跳转到其它的网站等
(4)从效率上说
forward高redirect低
8、页面间对象传递的方法有哪些(至少写出2个)?
答:
page、request、session、application、cookie
9、有三个数据库表,表结构如下:
student(学生表)
sid(学号)
sname(姓名)
01
张三
02
李四
03
王五
course(课程表)
cid(课程编号)
cname(课程名称)
01
语文
02
数学
03
英语
result(成绩表)
sid(学号)
cid(课程编号)
score(成绩)
01
01
65
01
02
76
01
03
86
02
01
97
02
02
57
02
03
88
03
01
90
03
02
79
03
03
82
1:
试写出单条SQL语句,输出学生学号,学生姓名,总分,并按照成绩总分由高到低排序。
答:
selectstudent.sidas学号,student.snameas姓名,r.sumScoreas总分fromstudentinnerjoin(selectsid,sum(score)assumScorefromresultgroupbysid)ronr.sid=student.sidorderbyr.sumScoredesc
2:
试写出单条SQL语句,输出各科目的平均分。
答:
selectameas科目,r.avgScoreas平均分fromcourse
innerjoin(selectcid,avg(score)asavgScorefromresultgroupbycid)roncourse.cid=r.cid
10、编码实现JDBC操作数据库,在学生表中插入一条记录(表结构见题目9学生表),假设学号使用的是MySQL的自增主键,学生姓名为“新生”。
提示:
数据库连接获取方式可使用Connectionconn=ds.getConnection();
答:
Class.forName(“com.mysql.jdbc.Driver”);
Connectionconn=DriverManager.getConnection(“jdbc:
mysql:
//localhost:
3306:
Score”,”root”,”root”);
Statementstmt=conn.createStatement();
Stringsql=”insertintostudent(snam)values(‘新生’)”;
stmt.executeUpdate(sql);
stmt.close();
conn.close();
11、使用HTML和javascript实现如下界面和功能:
这是一个div,点击“显示图片”按钮,此处将显示文本框中指定地址的图片
显示图片
功能描述:
当浏览器用户点击按钮“显示图片”时,DIV中显示输入框中指定地址的图片。
建议采用你熟悉的javascript框架,比如JQuery