java 笔试题
来源:互联网 发布:出题软件 编辑:程序博客网 时间:2024/06/07 03:51
笔试题
一、选择题(每题2分,共16分)
1、以下程序运行结果是(A)
public class Test extends Father{
private String name=”test”;
public static void main(String[] args){
Test test = new Test();
System.out.println(test.getName());
}
}
class Father{
private String name=”father”;
public String getName() {
return name;
}
}
A) father
B) test
C) 编译出错
D) 运行出错,无输出
2、根据下面的代码,
String s = null;
会抛出NullPointerException异常的有(A,C)。[两项]
A) if( (s!=null) & (s.length()>0) )
B) if( (s!=null) & & (s.length()>0) )
C) if( (s==null) | (s.length()==0) )
D) if( (s==null) || (s.length()==0) )
3、使用JDBC连接数据库的顺序是(B,A,D,C,E)(多选)
A) 加载驱动
B) 导入驱动包
C) 发送并处理SQL语句
D) 建立于数据库的连接
E 关闭连接
4、下列变量声明在( )范围内有效。(C)。
<%! Date dateTime;
int countNum;
%>
A)从定义开始处有效,客户之间不共享
B)在整个页面内有效,客户之间不共享
C)在整个页面内有效,被多个客户共享
D)从定义开始处有效,被多个客户共享
5、能在浏览器的地址栏中看到提交数据的表单提交方式是( B )
A)submit B)get
C)post D)out
6、可以利用JSP动态改变客户端的响应,使用的语法是(A)
A)response.setHeader() B)response.outHeader()
C)response.writeHeader() D)response.handlerHeader()
7、使用<jsp:setProperty>动作标记可以在JSP页面中设置Bean的属性,但必须保证Bean有对应的什么方法。(B)
A)SetXxx方法 B)setXxx方法
C)getXxx方法 D)GetXxx方法
8、out对象是一个输出流,其输出不换行的方法是(A)
A)out.print( ) B)out.newLine( )
C)out.println( ) D)out.write( )
二、问答题
1、简述super、static和final的功能和作用。
如果子类中发生了方法重写,那么子类对象能调用父类中重写前的方法,Java语言允许在子类中使用关键字super来引用父类的方法。
在Java类中声明属性和方法时,可使用关键字static做为修饰符。static标记的变量或方法由整个类共享,如访问控制权限允许,可不必创建该类对象而直接用类名加‘.’调用。
在Java中声明类、属性和方法时,可使用关键字final来修饰。final所标记的成分具有“终态”的特征,其具体规定如下:
l final标记的类不能被继承。
l final标记的方法不能被子类重写。
l final标记的变量(成员变量或局部变量)即成为常量,只能赋值一次。
2、谈谈你对mvc的理解
MVC是Model—View—Controler的简称。即模型—视图—控制器。MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。 MVC中的模型、视图、控制器它们分别担负着不同的任务。 视图: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并接受用户的输入。视图不进行任何业务逻辑处理。 模型: 模型表示业务数据和业务处理。相当于JavaBean。一个模型能为多个视图提供数据。这提高了应用程序的重用性 控制器: 当用户单击Web页面中的提交按钮时,控制器接受请求并调用相应的模型去处理请求。 然后根据处理的结果调用相应的视图来显示处理的结果。 MVC的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理的结果。并通过视图呈现给用户。
3、 JAVA SERVLET API中forward() 与redirect()的区别?
答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用
4、在JSP中如何设置COOKIE?
COOKIE是作为HTTP HEADER的一部分被发送的,如下方法即可设置:
<%
Cookie mycookie = new Cookie("aName","aValue");
response.addCookie(mycookie);
%>
5、Servlet和Jsp的区别?
答:Servlet是直接执行的文件Jsp是要被通过编译形成Servlet后才执行。
6、什么是Web Service?列举你知道优点和缺点。
Web Service就是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。
Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。
优势:
(1).跨平台。
(2).SOAP协议是基于XML和HTTP这些业界的标准的,得到了所有的重要公司的支持。
(3).由于使用了SOAP,数据是以ASCII文本的方式而非二进制传输,调试很方便;并且由于这样,它的数据容易通过防火墙,不需要防火墙为了程序而单独开一个“漏洞”。
(4).此外,WebService实现的技术难度要比CORBA和DCOM小得多。
(5).要实现B2B集成,EDI比较完善与比较复杂;而用WebService则可以低成本的实现,小公司也可以用上。
(6).在C/S的程序中,WebService可以实现网页无整体刷新的与服务器打交道并取数。
缺点:
(1).WebService使用了XML对数据封装,会造成大量的数据要在网络中传输。
(2).WebService规范没有规定任何与实现相关的细节,包括对象模型、编程语言,这一点,它不如CORBA。
7、 servlet生命周期
Servlet 的生命周期始于将它装入 Web 服务器的内存时,并在终止或重新装入 Servlet 时结束。包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由 javax.servlet.Servlet 接口的 init, service 和 destroy 方法表达。
8、Get请求和Post请求区别
a、Post是通过Http中的Post机制将表单中的数据提交道Action所制定的程序Get方法是通过Url请求来提交表单数据的。
b.Get适用于传输数据量小于1K数据,执行效率高。Post传输数据量较大,但也有限量。
三、智力题
1、现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水, 池塘里面有无穷多的水
①、用6升水壶往5升水壶中灌水,6升水壶剩1升水;
②、5升水壶中的水倒掉,灌入6升水壶剩的1升水。将6升水壶灌水倒入5升水壶,6升水壶中剩2升水;
③、5升水壶中的水倒掉,灌入6升水壶剩的2升水。将6升水壶灌水倒入5升水壶,6升水壶中即剩3升水
2、有两根粗细不均匀的香,燃烧时快时慢,但每根香烧完的时间确定是一小时,你能用什么方法来确定45分钟的时间?
答案:点燃其中一根,并把另一根两头点燃;第二根烧完恰好过去30分钟,第一根剩下部分应该支持30分钟的燃烧。然后把剩下的部分两头点燃,15分钟即可燃尽。
3、请把一盒蛋糕切成8份,分给8个人,但蛋糕盒里还必须留有一份。
面对这样的怪题,有些应聘者绞尽脑汁也无法分成;而有些应聘者却感到
此题实际很简单,把切成的8份蛋糕先拿出7份分给7人,剩下的1份连蛋糕盒一起分
给第8个人。
四、编程题
1、表:table1(FId,Fclass,Fscore),用最高效最简单的SQL列出各班成绩最高的列表,显示班级,成绩两个字段。
select fclass,max(fscore) from table1 group by fclass,fid
2、有一个表table1有两个字段FID,Fno,字都非空,写一个SQL语句列出该表中一个FID对应多个不同的Fno的纪录。
类如:
101a1001
101a1001
102a1002
102a1003
103a1004
104a1005
104a1006
105a1007
105a1007
105a1007
结果:
102a1002
102a1003
104a1005
104a1006
select t2.* from table1 t1, table1 t2 where t1.fid = t2.fid and t1.fno <> t2.fno;
3、有员工表empinfo
(
Fempno varchar2(10) not null pk,
Fempname varchar2(20) not null,
Fage number not null,
Fsalary number not null
);
假如数据量很大约1000万条;写一个你认为最高效的SQL,用一个SQL计算以下四种人:
fsalary>9999 and fage > 35
fsalary>9999 and fage < 35
fsalary <9999 and fage > 35
fsalary <9999 and fage < 35
每种员工的数量;
select sum(case when fsalary > 9999 and fage > 35
then 1
else 0end) as "fsalary>9999_fage>35",
sum(case when fsalary > 9999 and fage < 35
then 1
else 0
end) as "fsalary>9999_fage<35",
sum(case when fsalary < 9999 and fage > 35
then 1
else 0
end) as "fsalary<9999_fage>35",
sum(case when fsalary < 9999 and fage < 35
then 1
else 0
end) as "fsalary<9999_fage<35"
from empinfo
4、请编写代码,能够体现多态
5、625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。除了625,还有其它的3位数有这个特征吗?
请编写程序,寻找所有这样的3位数:它的平方的末3位是这个数字本身。
输出结果中,从小到大,每个找到的数字占一行。比如那个625就输出为:
625
代码如下:
public class test7 {
public static void main(String[] args){
String str1,str2;
for(int i=100;i<1000;i++){
str1=”"+i*i;
str2=”"+i;
if(str1.contains(str2))
System.out.println(i);
}
}
或者:
public class test7 {
public static void main(String as[])
{
int v,m,i,n,q;
for( i=100;i<1000;i++)//取所有的三位数
{
v=10;
q=i*i; //开平方
for(int k=0;k<3;k++)
{
m=q%v; //求余取当前数值的尾巴
n=i%v;
v=v*10;
if(m==n) //将尾巴三位数分别拿出来比较
{
if(k==2) //都后三位都相等的话就输出,并退出当前循环
{
System.out.println(i);
break;
}
continue;
}
else
{
break;
}
}
}
}
}
或者:
public static void main(String[] args) {
int i,mulRs,last3;
for(i=100;i<=999;i++){
mulRs=(int)Math.pow(i,2);
last3=mulRs%1000;
if(last3==i) System.out.println(i);
}
}
6、有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,
依次类推,推到第一人(10岁),再往回推。
附加题:
请描述你做过的、印象最深的并且参与最多的项目,可画流程图。
- 华为Java笔试题笔试
- java笔试题
- java笔试题
- Java笔试题
- java经典笔试题
- 一JAVA笔试题
- Java笔试题集锦
- JAVA笔试题
- java笔试题大全
- 一道java笔试题
- JAVA笔试题
- Java笔试题
- Java笔试题总结
- JAVA笔试改错题
- 华为JAVA笔试题
- java笔试题
- Java笔试题一份
- 常见java笔试题。。。
- WPF-14:绑定中数据模型必须为public问题
- js操作android-sqlite数据库
- Document Interaction Controller
- VB调用C#写的WinForm.NET控件
- listener.ora 、sqlnet.ora 、tnsnames.ora的关系浅析
- java 笔试题
- MongoDB 数据库操作(十一)-进程控制
- 谈谈Runtime类中的freeMemory,totalMemory,maxMemory等几个方法
- JS中showModalDialog
- hdu 2577 How to Type - 水题
- android配置环境
- android下移植tslib
- 详解VB调用C#类库的方法步骤
- SQL 系统存储过程用法整理