大数跨境

【面试真题】JAVA开发面试题,最基本的问题你会吗?(五)

【面试真题】JAVA开发面试题,最基本的问题你会吗?(五) 职英产教融合
2023-02-24
5
导读:想要成为一名合格的程序员,除了具备专业的技能点之外,面试题的学习和积累也是必不可少的。


上期提到JAVA开发最基本的面试问题,大家都知道答案吗?想要成为一名合格的程序员,除了具备专业的技能点之外,面试题的学习和积累也是必不可少的。积累的越多,我们的底气就会越来越足,工作也会越来得心应手。今日依旧给大家带来了五道面试题,准备好了吗?



面试题如下


1、谈谈你对 Spring 的理解。


2、简单介绍一下 Spring bean 的生命周期。


3、Spring 的通知是什么?有哪几种类型?


4、Mybatis 中一级缓存与二级缓存?


5、简单介绍一下 Shiro 框架。



上期答案请查收


1、什么是存储过程,使用存储过程的好处?

存储过程(Stored Procedure )是一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。

优点:

(1)允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。

(2)允许更快执行,如果某操作需要执行大量 SQL 语句或重复执行,存储过程比 SQL 语句执行的要快。

(3)减少网络流量,例如一个需要数百行的 SQL 代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。

(4) 更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。


2、存储过程和存储函数的特点和区别?

特点:

(1)一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。

(2)对于存储过程来说可以返回参数,而函数只能返回值或者表对象。

(3)存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于 FROM 关键字的后面。

区别:

(1)函数必须有返回值,而过程没有.

(2)函数可以单独执行.而过程必须通过 execute 执行.

(3)函数可以嵌入到 SQL 语句中执行.而过程不行.其实我们可以将比较复杂的查询写成函数.然后到存储过程中去调用这些函数.


3、触发器的作用有哪些?

(1)触发器可通过数据库中的相关表实现级联更改;通过级联引用完整性约束可以更有效地执行这些更改。

(2)触发器可以强制比用 CHECK 约束定义的约束更为复杂的约束。与 CHECK 约束不同,触发器可以引用其它表中的列。例如,触发器可以使用另一个表中的 SELECT 比较插入或更新的数据,以及执行其它操作,如修改数据或显示用户定义错误信息。

(3)触发器还可以强制执行业务规则

(4)触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。



4、throws 和 throw 有什么不同点?

throw 是语句抛出一个异常。

语法:throw (异常对象); throw e;

throws 是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)

语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{......} public void doA(int a) throws Exception1,Exception3{......}


5、JAVA 中使用 final 修饰符,对程序有哪些影响?

1、修饰类当用 final 修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用 final进行修饰。final 类中的成员变量可以根据需要设为 final,但是要注意 final 类中的所有成员方法都会被隐式地指定为final 方法。

在使用 final 修饰类的时候,要注意谨慎选择,除非这个类真的在以后不会用来继承或者出于安全的考虑,尽量不要将类设计为 final 类。

2、修饰方法

被 final 修饰的方法将不能被子类覆盖,主要用于 1,把方法锁定,以防任何继承类修改它的含。2,在早期的 Java实现版本中,会将 final 方法转为内嵌调用,所以效率能够提升。

3、修饰变量

对于一个 final 变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。

当用 final 作用于类的成员变量时,成员变量(注意是类的成员变量,局部变量只需要保证在使用之前被初始化赋值即可)必须在定义时或者构造器中进行初始化赋值,而且 final 变量一旦被初始化赋值之后,就不能再被赋值了。



—— 春季招生已经全面启动 ——

欢迎各位同学、家长咨询报名

李老师:13007633571


郑州校区、商丘校区、新乡校区同步招生中


扫描下方二维码,立即报名

👇

【声明】内容源于网络
0
0
职英产教融合
1234
内容 496
粉丝 0
职英产教融合 1234
总阅读17
粉丝0
内容496