当前位置:
文档之家› JAVA和SQL和ORACLE面试题汇总
JAVA和SQL和ORACLE面试题汇总
6.try {}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会不会被执行,什么时候被执行,在 return 前还是后? 解释:inally 里的代码会执行,在 return 之前执行 7.实现一个冒泡排序 解释: ArrayList<Integer> list=new ArrayList<Integer>();
3.A=10,b=20 在不使用第三变量 使两值互换 解释: a=10,b=8 a=a-b b=b+a a=b-a
4. override 与重载的区别 解释:override 是把继承于父类的方法给覆盖掉 重载是同一个函数名接受不同类型、个数的参数,完成不同的功能,调用起来 方便
5.抽象类跟接口的区别 解释:抽象类可以有非抽象方法,接口中只能有抽象方法。接口可以实现多继 承。
2.维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么 解释:尽可能用约束(包括 CHECK、主键、唯一键、外键、非空字段)实现, 这种方式的效率最好;其次用触发器,这种方式可以保证无论何种业务系统访 问数据库都能维持数据库的完整性、一致性;最后再考虑用自写业务逻辑实现, 但这种方式效率最低、编程最复杂,当为下下之策。
Integer a; if((list.get(j-1)).compareTo(list.get(j))>0) { 大小
//比较两个整数的
a=list.get(j-1); list.set((j-1),list.get(j)); list.set(j,a); } } } for(Integer s:list) { System.out.println(s.intValue()); }
list.add(76); list.add(4); list.add(786); list.add(43); list.add(21); list.add(432); list.add(10); for(int i=0;i<list.size()-1;i++) { for(int j=1;j<list.size()-i;j++) {
证事务的完整性和并发性。
12.什么是索引,有什么优点? 解释:索引象书的目录类似,索引使数据库程序无需扫描整个表,就可以在其 中找到所需要的数据,索引包含了一个表中包含值的列表,其中包含了各个值 的行所存储的位置,索引可以是单个或一组列,索引提供的表中数据的逻辑位 置,合理划分索引能够大大提高数据库性能。 13.视图是什么?游标是什么? 解释:视图是一种虚拟表,虚拟表具有和物理表相同的功能,可以对虚拟表进 行增该查操作,视图通常是一个或多个表的行或列的子集,视图的结果更容易 理解(修改视图对基表不影响),获取数据更容易(相比多表查询更方便),限 制数据检索(比如需要隐藏某些行或列),维护更方便。 游标对查询出来的结果集作为一个单元来有效的处理,游标可以定位在结果集 的特定行、从结果集的当前位置检索一行或多行、可以对结果集中当前位置进 行修改、 15.什么是存储过程?有什么优点? 解释:存储过程是一组予编译的 SQL 语句,它的优点有 1.允许模块化程序设计, 就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。2.允许更 快执 行,如果某操作需要执行大量 SQL 语句或重复执行,存储过程比 SQL 语 句执行的要快。3.减少网络流量,例如一个需要数百行的 SQL 代码的操作有一 条执行 语句完成,不需要在网络中发送数百行代码。4.更好的安全机制,对于 没有权限执行存储过程的用户,也可授权他们执行存储过程。 16.什么是触发器? 解释:触发器是一种特殊类型的存储过程,出发器主要通过事件触发而被执行 的,触发器的优点:1.强化约束,触发器能够提供比 CHECK 约束。2.跟踪变化, 触发 器可以跟踪数据库内的操作,从而不允许未经允许许可的更新和变化。3. 联级运算,比如某个表上的触发器中包含对另一个表的数据操作,而该操作又 导致该表上 的触发器被触发。
1. (口述题)请简述迅雷、BT 等 p2p 下载软件的实现原理。如何资源分布。 解释:A 想来 B 家做客,但是遭到了 B 的管家 NAT B 的拒绝,理由是:我从来没有 听我家 B 提过你的名 字,这时 A 找到了 A,B 都认识的朋友 server,要求 server 给 B 报一个信,让 B 去跟管家说 A 是我的朋友,于是,B 跟管家 NAT B 说,A 是我认识 的朋友,这样 A 的访问请求就不会再被管家 NAT B 所拒绝了.简而言之,UDP 打洞 就是一个通过 server 保存下来的地址使得彼此之间能够直接通信的过 程,server 只管帮助建立连接,在建立间接之后就不再介入了.
1 Zhang Sql
60
2 li
C#
50
3 wang Java 70
4 zhang Java 55
li
Sql
60
6 li
Java 65
8. 查出总成绩大于 100 分的学生信息
解释:select * from table where id in (select name,sum(gade) as total from table group by name having total>100 ) Where 在分组之前过滤数据,条件不能包含聚组函数,having 在分组之后过滤 数据,条件中经常包含聚组函数。带聚合函数的 select 中只能有聚合函数和分组 列。
9. 有一个学生表,有学生姓名,语文成绩,数学成绩。请写出查询语文成绩和 数学成绩在 60 分以上的学生信息,并能查且语文成绩和数学成绩之和大于 130 分的学生信息,请用一句 SQL 拼写出来。 解 释 : select * from table where yuwen>60 and shuxue>60 and yuwen+shuxue>130 10. &和&&的区别? 解释:计算 p1&&p2 时,Java 先计算 p1,若 p1 为 true 再计算 p2;若 p1 为 false, 则不再计算 P2 11. 什么是事务?什么是锁? 解释:事务是指一个工作单元,它包含了一组数据操作命令,并且所有的命令 作为一个整体一起向系统提交或撤消请求操作,即这组命令要么都执行,要么 都不执行。 锁是在多用户环境中对数据的访问的限制。SqlServer 自动锁定特定记录、字段 或文件,防止用户访问,以维护数据安全或防止并发数据操作问题,锁可以保