JAVA高级工程师笔试题

JAVA高级工程师笔试题
JAVA高级工程师笔试题

Java软件高级工程师笔试题

【智力部分】(30分)

1.烧一根不均匀的绳要用一个小时,如何用它来判断半个小时?(5分)

半小时:两头同时烧.

一个小时十五分钟:

一根正常烧,一根两头烧.

在两头烧完的一刹那,把正常烧的那根的另一头也点燃.这根烧完后是45分钟.

在烧完后的一刹那,在把一根两头烧.合计一个小时十五分钟.

2.4,4,10,10,加减乘除,怎么出24点?(5分)

(10×10-4)÷4=24

3.如果你有无穷多的水,一个容积为3L的和5L的提桶,你如何准确称出4L的水?(5分)

这个容易!先将3L的桶装满水,倒入5L的桶,再重新将3L的桶装满水,倒入5L的桶,把5L的桶装满,这样3L的桶中就剩下1L水,然后把5公升的水倒掉,把3公升的桶中剩下的1L水到入5L的桶里,再打满3L的桶倒入5L的桶里,就是4L了.

4.一只蜗牛从井底爬到井口,每天白天蜗牛要睡觉,晚上才出来活动,一个晚上蜗牛可以向上爬3尺,但是白天

睡觉的时候会往下滑2尺,井深10尺,问蜗牛几天可以爬出来?(5分)

8天

5.有一种细菌,经过一分钟分裂为2个,再过一分钟,分裂为4个,这样,将一个细菌放在一个瓶子里面,一个

小时后瓶子被细菌充满了。现在假设一开始放入瓶中的为两个细菌,那么到充满瓶子要多长的时间?(10分)

从纯数学的角度来看,先放入一个细菌,每分钟增加一倍,花了60分钟.

第一分钟是从一个细菌变为2个细菌.

如果直接放入2个,就省了第一个一分钟.所以是59分钟.

不过,如果是数学题,我就不说什么了.如果是生物题,你那个出题的老师就是笨蛋一个.细菌不会凭空分裂,需要养分.不可能把瓶子填满!

【专业部分】(70分)

6.简述一下面向对象的特征,并举例说明你对面向对象的理解?(5分)

7.ArrayList和HsahSet的区别,HashMap和Hashtable的区别?(5分)

8.线程同步的关键字是什么?sleep()和wait()有什么区别?怎么唤醒wait()停止的线程?(5分)

9.列举你在项目中常用的设计模式(伪代码或类图),并说明每种设计模式的具体应用场景。(5分)

10.Spring中事务管理支持哪几种方式以及每种方式的具体使用方法。(5分)

11.Hibernate的缓存等级及其特点(5分)

12.至少写出一种11位手机号码的正则表达式。(5分)

13.用简短的代码实现字符串“s tr in g”到“s tr in g”转换。即将多个空格转换为一个空

格(5分)

14.使用Socket编写一个程序,客户端向服务器端发送请求(发送字符串即可),服务端接收后发送反馈信息.(10

分)

15.用SQL语句实现Oracle分页查询。(10分)

16.aa,bb表都有20个字段,且记录数量都很大,aa,bb表的X字段(非空)上有索引,请用SQL列出aa

表里面存在的X在bb表不存在的X的值,请写出认为最快的语句,并解译原因。(10分)

相关文档
最新文档