一套Java程序员笔试题

1、在一个平面上画1999条直线最多能将这一平面划分成多少个部分?
答案:条直线分平面为1份
1条(1+1)份,2条(2+1+1)份,3条(3+2+1+1份
1999条(1999+1998+1997+——-+2+1+1)份为19991份
2、在太平洋的一个小岛上生活着土人,他们不愿意被外人打扰,一天,一个探险家到了岛上,被土人抓住,土人的祭司告诉他,你临死前还可以有一个机会留下一句话,如果这句话是真的,你将被烧死,是假的,你将被五马分尸,可怜的探险家如何才能活下来?

答案:我将被五马分尸

3、数祖里有无length()这个方法?string有没有length()这个方法?

答案:数组没有length()这个方法,有length的属性。String有有length()这个方法。

4、Java中几种方法可以实现一个线程?用什么关键字修饰同步方法?

答案:有两种实现方法,分别是继承Thread类与实现Runnable接口;
用synchronized关键字修饰同步方法

5、在java中,如果跳出当前的多重嵌套循环?

答案:用break; return 方法。

6、说出servlet的生命周期,并说出servlet和CGI的区别。

答案:Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

7、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别。

答案:EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。
SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。
对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。

8、在面向对象的程序设计中,经常遇到如下关键字:Public、Private、Protected,请描述以上关键字用来修饰对象的方法或属性时的确切含义。

答案:

设数据库表名为Tab,该表有c1、c2、c3、c4、c5、c6等列,其中c1、c2是字符型,c3到c6为数值型。请根据如下要求写出SQL语句:

9、列出满足c4大于,c5小于的所有记录。

答案:

1、列出满足c1以“11”打头,并且c3在区间[,1]内的条件的记录条数。

答案:

11、c1的前2位的取值范围是(,11,22,33,44,55),请给出根据c1前2位对c5、c6求和的SQL语句。

答案:

12.用任何算法语言描述如下问题,请输出2 到1内个位数为3的素数。

答案:

13、数据库中的一个完整列名由:表名+“.”+列名组成,比如Tab.c3。我们规定表名和列名的规则是:不能以数字打头,期于字符可以是数字、字母和“-”。请给出完整列名:表名+“.”+列名的正则表达式。

答案:

14、一个人(A君)拿了一张5元真钞和一张5元假钞在B君的商店里买了一件售价8元(进价为4元)的商品。问B君在这次交易中赚了还是赔了,赚了多少赔了多少?为什么?

答案:

15、不使用第三个变量实现x、y数值的交换。比如x=6,y=9,交换后x=9,y=6。

答案:

16、jsp有哪些内置对象,作用分别是什么。

答案:request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。
response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)
out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息
applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
page表示从该页面产生的一个servlet实例

17、request和session传递对象的方法分别是什么。

答案:

18、servlet如何定时对数据库进行访问。

答案:

19、struts如何转发到不同的jsp页面。(主要是写映射)

答案:

2、作用域public,private,protected以及不写时的区别。

答案:

21、谈谈final,finally,finalize的区别。

答案:final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

22、Strings=new String(“xyz”);创建了几个String Object?

答案:2

23、Math.round(11.5)等于多少?Math.round(-11.5)等于多少?

答案:

24、ArrayList和Vector的区别?

答案:

25、Hashmap和Hashtable的区别?

答案:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

26、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

答案:

27、Abstract class和interface有什么区别?

答案:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

28、Sleep()和wait()有什么区别?

答案:sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。
wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

29、Try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候执行,在return前还是后?

答案:

3、Substring(“ABC”,2)的输出结果是多少?

答案:

31、请比较Servlet中doGet()和doPost()的异同?

答案:

32、JSP中的作用域有哪4种?请分别说出它们的作用范围。

答案:

33、JSP中一个页面要调用另一个页面,请说明forward()和redirect()的区别?

答案:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。

34、在SQL SERVER中大数据量的分页解决方法。

答案:

35、假设你有8个球,其中一个稍微重一些,但是找出这个球的唯一方法是方法是将球放在天平上对比。最少要称多少次才能找出这个较重的球?请用任何算法语言描述。

答案:

36、student库中有A,B两张表。A表中的列为number,name;B表中的列为number,grade,现在要得到一张含有name和grade的表C如何生成?(写出SQL语句)

答案:

37、什么是白盒测试?

答案:

38、Sqlserver2中数据库有哪几个对象?

答案:

39、Sqlserver2中的Model和Tempdb数据库是起什么作用的?

答案:

4、设有关系EMP(ENO,ENAME,SLARY,DNO),其中各属性的含义依次为职工号,姓名,工资和所在部门号,以及关系(DEPT(DNO,DNAME,MANGER),其中各属性含义依次是部门号,部门名称,部门经理的职工号。试用SQL语句完成以下查询:
(1)    列出各部门中工资不低于6元的职工的平均工资
(2)    请用SQL语句将“销售部”的那些工资数额低于6的职工的工资上调1%。
(3)    列出各部门经理的工资

答案:

41、Error与Exception有什么区别?

答案:error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

42、以任意序列输入一组自然数,请实现一个你认为最好的算法,对这组输入的数据进行排序,使其成为升序序列。(可以用任何程序语言表达,或者画出程序逻辑图也可)

答案:

有下列三个表格(43—47)
S(S#,SN,SD,SA)学号,学员姓名,所属单位,年龄
C(C#,CN)课程编号,课程名称
SC(S#,C#,G)学号,选修课程编号。学习成绩
43、使用标准SQL欠套语句查询选修课程名称为“税收基础”的学员学号和姓名

答案:

44、使用标准SQL欠套语句查询选修课程编号为“C2”的学员姓名和所属单位

答案:

45、使用标准SQL欠套语句查询不选修课程编号为“C5”的学员姓名和所属单位

答案:

46、查询选修了课程的学员人数

答案:

47、查询选修课程超过5门的学员学好和所属单位

答案:

48、下列哪一项不是方法的非访问控制符。       (             )
A.abstract        B.native        C.private            D.static

答案:

49、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(     )
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问

答案:

5、执行完以下代码int [ ]  x = new    int[25];后,以下哪项说明是正确的(     )
A、x[24]为        B、x[24]未定义        C、x[25]为        D、x[]为空

答案:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值