Java 软件高级工程师笔试题
【智力部分】(30分)
1.烧一根不均匀的绳要用一个小时,如何用它来判断半个小时?(5分)
2.4,4,10,10,加减乘除,怎么出24点?(5分)
3.如果你有无穷多的水,一个容积为3L的和5L的提桶,你如何准确称出 4L的水?(5分)
4.一只蜗牛从井底爬到井口,每天白天蜗牛要睡觉,晚上才出来活动,一个晚上蜗牛可以向上爬3尺,但是白天
睡觉的时候会往下滑2尺,井深10尺,问蜗牛几天可以爬出来?(5分)
5.有一种细菌,经过一分钟分裂为2个,再过一分钟,分裂为4个,这样,将一个细菌放在一个瓶子里面,一个
小时后瓶子被细菌充满了。现在假设一开始放入瓶中的为两个细菌,那么到充满瓶子要多长的时间?(10分)
【专业部分】(70分)
6.简述一下面向对象的特征,并举例说明你对面向对象的理解?(5分)
7.ArrayList和HashSet的区别,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分)