
博思曙光(大连)管理咨询公司
选择题1、JAVA 中对于 String str =“hello word” 下列语句错误的是?
A、 str+=’ a’
B、 int strien = str.length
C、 str=100
D、 str=str+100
正确答案:AC
A 选项应改为 “”,若维持 ‘’ 不变,则需要将 a 前面的空格去掉,这样 ‘a’ 实际上代表一个数字。
B 选项 String.length 返回的就是 int 类型,所以正确。
C 选项 字符串 str 的引用不能是 int 类型。
D 选项字符串与数字拼接时会自动将 int 类型转换为字符串。
2、执行如下代码后输出结果为( )
public class Test {
public static void main(String[] args) {
System.out.println("return value of getValue(): "+ getValue());
}
public static int getValue(){
int i=1;
try{
i=4;
} finally {
return i++;
}
}
}
A、 return value of getValue(); 1
B、 return value of getValue(); 4
C、 return value of getValue(); 5
D、 其他几项都不对
正确答案:C
本题在 main 方法中调用了静态方法 getValue,这里主要考察了 finally 的用法和 i++ 的用法,根据 getValue 方法我们可以看到首先定义了一个 int 值 i=1,然后进入 try 块将 i 赋值为 4,这里由于 finally 无论 try…catch 执行哪一步最后都会执行的特性,进入到 finally 块中,并返回 i++,但是由于 i++ 是先计算后自增的特性,返回值并没有变,所以最后返回的是 4
3、以下关于集合类 ArrayList、linkList、HashMap 描述错误的是()
A、 HashMap 实现 Map 接口,它允许任何类型的键和值对象,并允许将 null 用作键或值
B、 ArrayList 和 linkedList 均实现了List接口
C、 添加和删除元素时,ArrayList 的表现更佳
D、 ArrayList 的访问速度比 linkedList 快
正确答案:C
A 选项 HashTable 中 key 和 value 都不允许 null 值,但是 HashMap 中都允许。
B 选项 都是 List 集合下的当然都实现了 List 接口。
CD 选项 ArrayList 是基于数组实现的因此随机访问更快,而 linkedList 是基于链表实现因此添加和删除更快。
4、如果一个 list 初始化为 {5 , 3 , 1} 执行以下代码后,其结果为 () ?
list.add(6); list.add(0,4); list.remove(1);
A、 [5,3,1,6]
B、 [4,3,1,6]
C、 [4,3,6]
D、 [5,3,6]
正确答案:B
吐槽:连个输出语句都没有,结果能有个锤子啊喂!
执行第一行,list 变为 {5,3,1,6}
执行第二行,list 变为 {4,5,3,1,6},这里是在下标为 0 处添加一个 4 而不是替换!!
执行第三行,list 变为 {4,3,1,6},这里是将下标为 1 的元素删除,所以将 5 删除了。
就当它还有个输出语句,结果为 B
5、下面有关 sql 语句中 delete truncate 的说法正确的是? ()
A、 论清理表数据的速度,truncate 一般比 delete 更快
B、 truncate 命令可以用来删除部分数据
C、 truncate 只删除表的数据不删除表的结构
D、 delete 能够回收高水位
正确答案:AC
A 选项 数据库的处理效率 drop > truncate > delete
B 选项 truncate 命令删除所有数据,delete 命令删除部分数据
C 选项 drop 删除所有,truncate 删除所有数据但不删除表,delete只删除部分数据
D 选项 truncate 能回收高水位,但是 delete 并不能。高水位和 MySQL 中的主键自增类似,主键自增,就算将之前的数据删掉,新增加的数据也只会按照之前最高的数值开始自增。高水位也是类似,假如之前有 10 条数据,则水位为 10,即使删除了 5 条数据,高水位还是 10,此时添加一条数据,高水位就变为 11。而 truncate 是将整个表的所有数据都删除,因此会将高水位复位。
简答题1、数据库事务是什么? 简要说明数据库事务的特性?
数据库是面向多用户的共享机制,所以数据库管理要具有并发性和同步机制,而事务就是一种多个执行步骤的执行特性,即要么同时执行相应的操作要么一个也不执行。这样就保证了在多个用户操作同一数据时数据的一致性。这样保证数据一致性的操作执行特性就称为事务。
事务的特性(ACID):
2、大学生春季运动会的数据库,保存了比赛信息的三个表如下:
运动员 sporter (运动员编号 sporterid,姓名 name,性别 sex,所属系号 department)
项目 item (项目编号 itemid,名称 itemname,比赛地点 location)
成绩 grade (运动员编号id,项目编号 itemid,积分 mark)。
用 SQL 语句完成在 “体育馆" 进行比赛的各项目名称及其冠军的姓名。
参考答案:
select i.itemname s.name from grade g join item i on g.itemid = i.itemid where i.location = “体育馆” orderby mark desc limit 0,1 join sporter s on g.id = s.sporterid
3、简要说明重写和重载的区别
重写和重载的区别:
重载发生在同一类中,重写发生在父子类中。
重载的方法名称相同,参数列表不同;重写的方法名称相同,参数列表相同,方法体不同。
重载的方法在编译器绑定,重写的方法在运行期绑定。
重载与方法的返回值类型无关。
重写遵循两同两小一大原则:
4、接口和抽象类的区别
接口和抽象类的区别:
5、说说你对 loC 和 aop 的理解
IoC(Inversion of Control):是面向对象编程中的一种设计原则,其中最常见的方式叫做依赖注入(Dependency Injection)简称 DI。IoC 简称控制反转,将我们创建以及管理的对象的权限从我们手中交给 Spring 容器来管理,这种控制权限的移交我们称之为控制反转。
AOP(Aspect Oriented Programming)是面向切面编程,作为面向对象编程的补充,用于对一些与业务无关的,但是可能对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被命名为 “切面” ,减少系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维护性。可用于权限认证、日志管理、事务处理等。