java面试题

Posted MyAzhe0ci3

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java面试题相关的知识,希望对你有一定的参考价值。

数据库

1.动态查询如何实现?表的结构变化后,如果不需要修改程序,如何设计和实现查询?

:将查询语句封装进存储过程中,通过调用储存过程实现动态调用;修改相应的存储过程即可不在修改程序的情况下实现查询。

2.如何优化数据库,如何提高数据库的性能?

:优化数据库主要是优化查询语句,通过高性能的查询语句提高数据库的性能。

3.设计数据库应该注意那些问题?

:首先应该满足三范式的要求,在一定程度上打破三范式的要求以提高数据库的性能。

4.什么是三范式?


第一范式:每个字段只存储一个值。例如:职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话和一个家里电话)
第二范式:必须符合1NF的条件,且每一行都能被唯一的识别.将1NF转换成2NF的方法是添加主键。学号,课程名,成绩
第三范式:如果一个表满足了2NF,且不包含传递依赖性,则这个表就是第三范式

5.储存过程和函数的区别?

答:储存过程是用户定义的一系列sql语句的集合,涉及特定的表或其他对象的任务,用户可以调用存储过程,而函数是数据库已经定义好的方法,它接收参数并且返回某种类型的值。

6.主键和外键的区别?

答:主键是唯一,非空的.外键可以重复可以为空;外键和另外一张表的主键关联,不能创建对应表中不存在的外键。

7.什么是事务

答:事务是作为一个逻辑单元执行的一系列操作,一个事务必须有四个属性,简称为ACID(原子性,一致性,隔离性和持久性)

  1. 原子性:对于数据修改,要么全部执行,要么全部不执行
  2. 一致性:事务在完成之前,必须使所有的数据保持一致状态
  3. 隔离性:由并发事务所作的修改必须与任何其他并发事务所作的修改隔离.事务查看数据时所处的状态,要么时另一并发事务修改它之前的状态,要么时修改它之后的状态,事务不会查看中间状态的数据.这成为可串行性
  4. 持久性:事务完成之后,它对系统的影响是永久的.改修改即使出现系统 故障也将一直保持

8.游标的作用?

:如何知道游标已经到了最后?游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后

9.触发器分为事前触发和事后触发,这两种触发有何区别?

:事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。

10.语句级触发和行级触发有何区别?

:语句级触发器可以在语句执行钱或后执行,而行级触发在触发器所影响的每一行触发一次。

11.请列举一些当前流行的数据库引擎

:SQL SERVER,ORACLE,BDE,mysql

12.写出从数据库表Custom中查询No,Name,Num1,Num2并将Name以姓名显示,计算出的和以总和显示的SQL

SELECT No,Name as ‘姓名’ ,Num1,Num2,(Num1+Num2) As ‘总和’ FROM Custom;

13.内联接

select a.id,a.xx,a.xx,b.id,b.xx,b.xx from a inner join b on a.id=b.id

14.批处理

:是包含一个或多个Transact-SQL语句的组,从应用程序一次性发送到Microsoft SQL Server执行。批作为一个整体执行,以Go命令结束,批处理是客户端作为一个单元发送的一个或多个SQL语句的集合。每个批处理编译为一个执行计划。

15.触发器

  • 触发器是在对表进行插入,更新或删除操作时自动执行的储存过程
  • 触发器通常用户强制业务规则
  • 触发器可以确保数据的完整性和一致性

以上是关于java面试题的主要内容,如果未能解决你的问题,请参考以下文章

2020年1-6月份Java面试题总结,20多类1100道面试题含答案解析

Java面试题,Java面试题及答案,2021最新的,都整理好了

2020 年最新版 Java 面试题大全(文末附参考答案)

2020年最新版Java面试题大全(文末附参考答案)

java面试题

Java常用API面试题Java面试题