栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

每天十道面试题(第一天)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

每天十道面试题(第一天)

一1.什么是触发器?触发器的作用是什么?2.什么是存储过程?用什么来调用?3.索引的作用?和它的优缺点是什么?4.维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么?5.什么是事务?什么是锁?6.什么叫视图?游标是什么?7.简述union与join的区别?8.简述DataDiff(),Convert()函数的功能



1.什么是触发器?触发器的作用是什么

        触发器是与表事件相关的特殊存储过程,它的执行不由程序调用,也非手工启动,而是由事件触发而被执行的(需要区别存储过程:存储过程则需要主动调用其名字执行)。

触发器(trigger):事先为某张表绑定一段代码,当表中的某些内容发生增、删、改时,系统会自动触发代码并执行。

作用:

①保证mysql数据的安全性。可以基于时间或者数据从而限制用户的操作权利。
②mysql触发器可以实现自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。
③mysql触发器可以实现实现复杂的数据完整性规则。并可以对数据库中相关的表进行连环更新。通过产生比规则更为复杂的限制,实现非标准的数据完整性检查和约束。
④mysql触发器可以跟踪用户对数据库的操作,审计用户操作数据库的语句,并写入审计表。
⑤mysql触发器可修改或者删除其他表中与之匹配的行设或者设置成null缺省值。
⑥mysql触发器可同步实时复制mysql数据库种的数据。

2.什么是存储过程?用什么来调用?

       存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的,用call关键字来调用,有参数时要加上参数。

3.3.索引的作用?和它的优缺点是什么?

索引的作用:创建索引能够大大的提高系统的性能

优点:

  ①通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性

  ②大大加快数据的检索速度,这也是创建索引的最主要原因

  ③加快表与表之间的连接,在实现数据的参考完整性方面特别有意义

  ④在使用分组和排序,子句进行数据检索时,同样可以显著减少查询中分组和排序的时间

  ⑤通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

缺点:

  ①创建索引和维护索引需要时间,这种时间随着数据量的增加而增加

  ②索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占物理空间,如果要建立聚簇索引,需要的空间更大

  ③当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这就降低了数据的维护速度。

4.维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么?

触发器一经定义,那么任何用户对表的操作(增,删,改)均由服务器激活相应的触发器,在DBMS核心层进行集中地完整性约束。
自己写业务逻辑在应用程序中定义,容易遗漏,定义时必须按照关系顺序,否则会报错,在处理大量关系是对程序员的细心程度要求比较高,还比较繁琐
触发器是用加强数据的完整性约束和业务规则的。它是由用户自己定义的根据自己的需求,比较灵活。它又是由DBMS控制的又十分安全可靠。

5.什么是事务?什么是锁?

事务:是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元);

锁:数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。

6.什么叫视图?游标是什么?

视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。

游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。

7.简述union与join的区别?

join 是两张表做交连后里面条件相同的部分记录产生一个记录集,
union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集 。

8.简述DataDiff(),Convert()函数的功能

.datediff()的使用格式是:DATEDIFF(datepart,startdate,enddate)。其中startdate(开始日期) 和 enddate(结束日期) 参数是合法的日期表达式。

ConVERT() 函数可以用不同的格式显示日期/时间数据。

data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。

9.什么是spring?

它是一个非常庞大的生态体系,可以构建java应用所需的一切基础设施,通常spring指的是springframework

核心解释:spring是一个轻量级的开源框架,为了解决企业级应用开发的业务逻辑和其他各层对象和对象之间的耦合问题,spring是一个Ioc(控制反转)和AOP(面向切面变成)容器的框架

10.bean的声明周期

指的是bean从创建到销毁的整个过程,分4大步

实例化->属性赋值->初始化->销毁

1.实例化(通过反射去推断构造函数进行实例化,实例工厂,静态工厂)

2.解析自动装配()ByName,Bytype,Controller,None,@AutoWire  DI的体现  循环依赖

3.调用XXware的方法,调用初始化生命周期 如果bean实现了aop第一步是动态代理

4.销毁在spring容器关闭的时候调用,调用销毁生命周期


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/759904.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号