近期java面试总结

1、String和StringBuilder、StringBuffer的区别?

String:String 的值被创建后不能修改,任何对 String 的修改都会引发新的 String 对象的生成。

StringBuffer:跟 String 类似,但是值可以被修改,使用 synchronized 来保证线程安全。

StringBuilder:StringBuffer 的非线程安全版本,没有使用 synchronized,具有更高的性能,推荐优先使用

2、人事OA项目使用了什么框架?

使用了若依框架,若依框架是一款基于SpringBoot+Vue的前后端分离极速后台开发框架。

  • 前端技术栈 ES6、vue、vuex、vue-router、vue-cli、axios、element-ui
  • 后端技术栈 SpringBoot、MyBatis、Spring Security、Jwt

3、你对Spring Cloud有什么了解?五大组件是什么?

SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,
为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务
SpringBoot可以离开SpringCloud独立使用开发项目, 但是SpringCloud离不开SpringBoot ,属于依赖的关系


Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、智能路由、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。


五大组件:

Eureka : 注册中心,用于服务的注册和发现
Ribbon/Feign : 负载均衡/服务调用
Hystrix :断路器,提高分布式系统的弹性
GateWay/Zuul :网关管理,由GateWay 网关转发请求给对应的服务,服务同一的转发,以及权限管理和过虑
SpringConfig:分布式配置中心

4、‌你是怎么知道系统是springcloud还是springboot?

什么是微服务,SpringBoot和SpringCloud的关系和区别_Johnny_Cheung的博客-CSDN博客_springboot是微服务吗什么是微服务?就目前而言对于微服务业界没有一个统一的,标准的定义.但通常而言,微服务是一种架构模式或者说是一种架构风格,它提倡单一应用程序划分为一组小的服务,每个服务在其独立的自己的进程中,服务之间相互协调,互相配合,为用户提供最终价值.服务之间采用轻量级的通信机制互相沟通(基于Http的Restful API)每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境,类生产环境进行构建,可以有一个非常轻量级的集中式管理来协调这些服务,可以使用不同的语言来编写服务,也可以使用不同的数据存储.https://blog.csdn.net/weixin_37519463/article/details/118408275?ops_request_misc=&request_id=&biz_id=102&utm_term=%E2%80%8C%E4%BD%A0%E6%98%AF%E6%80%8E%E4%B9%88%E7%9F%A5%E9%81%93%E7%B3%BB%E7%BB%9F%E6%98%AFspringcloud%E8%BF%98%E6%98%AFspringb&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-118408275.142%5Ev30%5Econtrol,185%5Ev2%5Econtrol&spm=1018.2226.3001.4187

5、‌说一下重载(Overload)和重写(Override)的区别?

方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。

重载:一个类中有多个同名的方法,但是具有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)。

重写:发生在子类与父类之间,子类对父类的方法进行重写,参数都不能改变,返回值类型可以不相同,但是必须是父类返回值的派生类。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。

6、构造器是否可被 重写?

Constructor 不能被 override(重写),但是可以 overload(重载),所以你可以看到⼀个类中有多个构造函数的情况。

7、== 和 equals 的区别是什么?

==:运算符,用于比较基础类型变量和引用类型变量。

对于基础类型变量,比较的变量保存的值是否相同,类型不一定要相同。

short s1 = 1; long l1 = 1;
// 结果:true。类型不同,但是值相同
System.out.println(s1 == l1);

对于引用类型变量,比较的是两个对象的地址是否相同。

Integer i1 = new Integer(1);
Integer i2 = new Integer(1);
// 结果:false。通过new创建,在内存中指向两个不同的对象
System.out.println(i1 == i2);

equals:Object 类中定义的方法,通常用于比较两个对象的值是否相等。

equals 在 Object 方法中其实等同于 ==,但是在实际的使用中,equals 通常被重写用于比较两个对象的值是否相同。

Integer i1 = new Integer(1);
Integer i2 = new Integer(1);
// 结果:true。两个不同的对象,但是具有相同的值
System.out.println(i1.equals(i2));
 
// Integer的equals重写方法
public boolean equals(Object obj) {
    if (obj instanceof Integer) {
        // 比较对象中保存的值是否相同
        return value == ((Integer)obj).intValue();
    }
    return false;
}

8、有了解过MAP吗?

Map简介_一盐难进的博客-CSDN博客Map简介HashMapTreeMapMap 的遍历小结Map 是一组成对的“键值对”对象,允许使用键 (key) 来查找值 (value)。它提供了一个映射表,可以通过某个对象来查找另一个对象。它也被称作关联数组,因为它将某些对象与另外一些对象关联在一起;或者称作字典,通过键对象来查找值对象,就像在字典中使用单词来定义一样。Map 基本特性:以 key-value 键值对的形式存储数据,...https://blog.csdn.net/f381226200/article/details/94317254?ops_request_misc=&request_id=&biz_id=102&utm_term=MAP&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-6-94317254.142%5Ev30%5Econtrol,185%5Ev2%5Econtrol&spm=1018.2226.3001.4187

9、‌有了解过hashmap底层是怎么解决哈希碰撞?

HashMap是怎么解决哈希冲突的_这个名字先用着的博客-CSDN博客_hashmap解决hash碰撞简单总结一下HashMap是使用了哪些方法来有效解决哈希冲突的:使用拉链法(使用链表)来链接拥有相同hash值的数据;使用2次扰动函数(hash函数)来降低哈希冲突的概率,使得数据分布更平均;引入红黑树进一步降低遍历的时间复杂度,使得遍历更快;什么是哈希函数?Hash,一般翻译为“散列”,也有直接音译为“哈希”的,这就是把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值(哈希值);这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输https://blog.csdn.net/weixin_38568503/article/details/123112174?ops_request_misc=&request_id=&biz_id=102&utm_term=%E2%80%8C%E6%9C%89%E4%BA%86%E8%A7%A3%E8%BF%87hashmap%E5%BA%95%E5%B1%82%E6%98%AF%E6%80%8E%E4%B9%88%E8%A7%A3%E5%86%B3%E5%93%88%E5%B8%8C%E7%A2%B0%E6%92%9E&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-123112174.142%5Ev31%5Econtrol,185%5Ev2%5Econtrol&spm=1018.2226.3001.4187HashMap是怎么解决哈希冲突的?_EmptyCupMentality的博客-CSDN博客_hashmap解决hash冲突的方法Hash一般翻译为“散列”,也有直接音译为“哈希”的,这就是把任意长度的输入通过散列算法,变换成 固定长度的输出,该输出就是散列值(哈希值);这种转换是一种压缩映射,也就是,散列值的空间通 常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入 值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。所有散列函数都有如下一个基本特性:根据同一散列函数计算出的散列值如果不同,那么输入值肯定也 不同。但是,根据同一散列函数计算出的散列值如果相同,输入值https://blog.csdn.net/qq_42605393/article/details/118714087?ops_request_misc=&request_id=&biz_id=102&utm_term=%E2%80%8C%E6%9C%89%E4%BA%86%E8%A7%A3%E8%BF%87hashmap%E5%BA%95%E5%B1%82%E6%98%AF%E6%80%8E%E4%B9%88%E8%A7%A3%E5%86%B3%E5%93%88%E5%B8%8C%E7%A2%B0%E6%92%9E&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-118714087.142%5Ev31%5Econtrol,185%5Ev2%5Econtrol&spm=1018.2226.3001.4187

10、‌说一下list和set的区别?

List、Set、Map三者的区别?
List(对付顺序的好帮手): List 接口存储一组不唯一(可以有多个元素引用相同的对象)、有序的对象。

Set(注重独一无二的性质):不允许重复的集合,不会有多个元素引用相同的对象。

Map(用Key来搜索的专业户): 使用键值对存储。Map 会维护与 Key 有关联的值。两个 Key可以引用相同的对象,但 Key 不能重复,典型的 Key 是String类型,但也可以是任何对象。
 

11、‌Java创建多线程的方式?

Java多线程之如何创建多线程?_Honyelchak的博客-CSDN博客Java与多线程的关系我们平时写的好多简单程序就有多个线程参与,你可能会感到惊讶,但是事实就是这样。Java程序从main()方法开始执行,然后按照既定的代码逻辑执行,看似没有其他线程参与,但实际上Java程序天生就是多线程程序,因为执行main()方法的是一个名称为main的线程。下面我们来用Java的一个管理类验证一下:Console结果如下:可以看出来,一个Java程序得到运行不仅仅是mai...https://blog.csdn.net/m0_38072683/article/details/80433265?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165686051216782388068948%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165686051216782388068948&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-5-80433265-null-null.142%5Ev30%5Econtrol,185%5Ev2%5Econtrol&utm_term=Java%E5%88%9B%E5%BB%BA%E5%A4%9A%E7%BA%BF%E7%A8%8B%E7%9A%84%E6%96%B9%E5%BC%8F%EF%BC%9F&spm=1018.2226.3001.4187Java创建多线程的8种方式_itcats_cn的博客-CSDN博客_java创建多线程目录 Java创建启动线程的多种方式1、继承Thread类,重写run()方法2、实现Runnable接口,重写run()3、匿名内部类的方式4、带返回值的线程(实现implements Callable<返回值类型>)————以上3种方式,都没有返回值且都无法抛出异...https://blog.csdn.net/itcats_cn/article/details/81149232?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165686051216782388068948%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165686051216782388068948&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-4-81149232-null-null.142%5Ev30%5Econtrol,185%5Ev2%5Econtrol&utm_term=Java%E5%88%9B%E5%BB%BA%E5%A4%9A%E7%BA%BF%E7%A8%8B%E7%9A%84%E6%96%B9%E5%BC%8F%EF%BC%9F&spm=1018.2226.3001.4187

12、‌事物有了解过吗?什么是事物?它的几大特性?

JAVA中什么是事物_奋斗的胖子——秋平的博客-CSDN博客_java中什么是事物说起来事物,就跟数据库操作有关。事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性 (isolation)和持久性(durability)的缩写。事务的原子性:表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。事务的一致性:表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。事务...https://blog.csdn.net/weixin_41758046/article/details/89406535?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165686159216782248552605%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165686159216782248552605&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-89406535-null-null.142%5Ev30%5Econtrol,185%5Ev2%5Econtrol&utm_term=%E4%BA%8B%E7%89%A9%E6%9C%89%E4%BA%86%E8%A7%A3%E8%BF%87%E5%90%97%EF%BC%9F%E4%BB%80%E4%B9%88%E6%98%AF%E4%BA%8B%E7%89%A9%EF%BC%9F%E5%AE%83%E7%9A%84%E5%87%A0%E5%A4%A7%E7%89%B9%E6%80%A7%EF%BC%9F&spm=1018.2226.3001.4187

ACID(四大特新)

原子性(atomicty):事物是一个完整的操作。要么都执行要么都不执行。
一致性(consistency):当事物完成时,数据必须处于一致状态。
隔离性(isolation):对数据的各种操作事物必须是彼此隔离的,事物是独立的,不会影响其他事物。
持久性(durability):事物完成后,对数据库的修改被永久保存,事务日志能保持事物的持久性。
什么是事务,事务的ACID特性_敲代码的乔帮主的博客-CSDN博客_什么是事务的acid特性一.什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。 突出事物原子性操作,要么都做,要么撤销回滚都不做。https://blog.csdn.net/Suyebiubiu/article/details/78519105?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165686159216782248552605%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165686159216782248552605&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-8-78519105-null-null.142%5Ev30%5Econtrol,185%5Ev2%5Econtrol&utm_term=%E4%BA%8B%E7%89%A9%E6%9C%89%E4%BA%86%E8%A7%A3%E8%BF%87%E5%90%97%EF%BC%9F%E4%BB%80%E4%B9%88%E6%98%AF%E4%BA%8B%E7%89%A9%EF%BC%9F%E5%AE%83%E7%9A%84%E5%87%A0%E5%A4%A7%E7%89%B9%E6%80%A7%EF%BC%9F&spm=1018.2226.3001.4187

13、‌什么是对象序列化?

什么是对象序列化?_羡羡ˇ的博客-CSDN博客_什么是对象序列化对象输入输出流对象序列化,transient关键字的用法为什么需要对象序列化 ? 在谈这个问题之前, 我们首先先来认识这两种流 : 对象的输出流: ObjectOutputStream , 对象的输入流: ObjectInputStream这两个流的作用是 : 用于写入对象信息与读取对象信息。 对象信息一旦写到文件上那么对象的信息就可以做到持久化了https://blog.csdn.net/xx12321q/article/details/123387258?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165710496416782395385220%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165710496416782395385220&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-123387258-null-null.142%5Ev31%5Econtrol,185%5Ev2%5Econtrol&utm_term=%E4%BB%80%E4%B9%88%E6%98%AF%E5%AF%B9%E8%B1%A1%E5%BA%8F%E5%88%97%E5%8C%96%EF%BC%9F&spm=1018.2226.3001.4187什么是对象序列化?如何实现?什么情况下使用?_JimboWonG的博客-CSDN博客_什么是对象序列化a)什么是对象序列化:对象序列化可以将一个对象保存到一个文件,可以将通过流的方式在网络上传输,可以将文件的内容读取转化为一个对象。所谓对象流也就是将对象的内容流化,可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对象流进行读写操作时引发的问题。b)序列化的实现:将需要被序列化的类实现serializable接口,该接口没有需要实现的方法,imhttps://blog.csdn.net/JimboWonG/article/details/54909581?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165710496416782395385220%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165710496416782395385220&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-54909581-null-null.142%5Ev31%5Econtrol,185%5Ev2%5Econtrol&utm_term=%E4%BB%80%E4%B9%88%E6%98%AF%E5%AF%B9%E8%B1%A1%E5%BA%8F%E5%88%97%E5%8C%96%EF%BC%9F&spm=1018.2226.3001.4187

14、‌spring里的AOP和IOP有了解过吗?

关于Spring 的IoC和AOP的面试题,快看看你都能答上来哪些_派 大 星.的博客-CSDN博客_spring的ioc和aop面试🏡  博客首页:派 大 星⛳️  欢迎关注  ❤️ 点赞  🎒 收藏  ✏️ 留言🎢  本文由派大星原创编撰🚧  系列专栏:《迎战面试》🎈  本系列分享自己准备面试的过程和一些经典的面试题目录🍓 Spring IOC🍉 IOC是什么?🥝 Ioc容器的初始化过程?🍒 基于注解的容器初始化🍅 依赖注入的相关注解?🌰 如何通过注解.https://blog.csdn.net/Gaowumao/article/details/124919483?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165710527716781647550349%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165710527716781647550349&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-3-124919483-null-null.142%5Ev31%5Econtrol,185%5Ev2%5Econtrol&utm_term=spring%E9%87%8C%E7%9A%84AOP%E5%92%8CIOP%E6%9C%89%E4%BA%86%E8%A7%A3%E8%BF%87%E5%90%97%EF%BC%9F&spm=1018.2226.3001.4187

控制反转 :

控制 : 谁来控制对象的创建 , 传统应用程序的对象是由程序本身控制创建的 , 使用Spring后 , 对象是由Spring来创建的
反转 : 程序本身不创建对象 , 而变成被动的接收对象 .
依赖注入 : 就是利用set方法来进行注入的.

IOC是一种编程思想,由主动的编程变成被动的接收
 

15、项目中有用过springboot和springcloud,能说一下常用的注解吗?

Spring Boot常用注解(绝对经典)_哪 吒的博客-CSDN博客_springboot常用注解一、Spring常用注解Spring常用注解(绝对经典)二、Jpa1、@Entity ,@Table(name="")表明这是一个实体类,一般用于jpa,这两个注解一块使用,但是如果表名和实体类名相同的话,@Table可以省略。2、@MappedSuperClass基于代码复用和模型分离的思想,在项目开发中使用jpa的@MappedSuperClass注解,将实体类的多个属性分别封装到不同的非实体类中。例如,数据库表中都需要id来表示编号,id是这些映射实体类的通用属性,交给jpa统https://blog.csdn.net/guorui_java/article/details/107379648?ops_request_misc=&request_id=&biz_id=102&utm_term=springboot%E5%B8%B8%E7%94%A8%E7%9A%84%E6%B3%A8%E8%A7%A3%EF%BC%9F&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-107379648.142%5Ev31%5Econtrol,185%5Ev2%5Econtrol&spm=1018.2226.3001.4187Spring常用注解(绝对经典)_哪 吒的博客-CSDN博客_spring注解最近在看B站颜群老师的课程,Javaweb>spring>springMVC>mybatis>spring高级,一路走来,跌跌撞撞,发现spring也不过尔尔,说白了,spring就是想尽办法将new做的更简单,更完美,更可配置。Spring的一个核心功能是IOC,就是将Bean初始化加载到容器中,Bean是如何加载到容器的,可以使用Spring注解方式或者Spring XML配置方式。Spring注解方式减少了配置文件内容,更加便于管理,并且使用注解可以大大提高了开发效..https://blog.csdn.net/guorui_java/article/details/107347754SpringBoot 常用注解汇总_xishilife的博客-CSDN博客_springboot注解大全目录Spring Boot 常用注解汇总一、启动注解 @SpringBootApplication@SpringBootConfiguration 注解,继承@Configuration注解,主要用于加载配置文件@EnableAutoConfiguration 注解,开启自动配置功能@ComponentScan 注解,主要用于组件扫描和自动装配二、Controller 相关注解@Controller@RestController 复合注解@RequestBody@https://blog.csdn.net/xishilife/article/details/120264924?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165712383416782425127894%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165712383416782425127894&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-120264924-null-null.142%5Ev31%5Econtrol,185%5Ev2%5Econtrol&utm_term=springboot%E5%B8%B8%E7%94%A8%E7%9A%84%E6%B3%A8%E8%A7%A3%EF%BC%9F&spm=1018.2226.3001.4187

Spring中主要提供了4个注解来标注Bean
@Component 通用的标注形式
@Repository 对Dao实现类进行标注
@Service 对Service实现类进行标注
@Controller 对Controller实现类进行标注
后端的业务分层一般业务请求顺序:Controller(进行URL结束和返回)-》Service(业务逻辑)-》Dao(访问数据层)
@Component是Spring 提供的通用的组件注解
@Controller、@Service 、@Repository是@Component的衍生,功能一样,是可以互换的
使用不同的注解主要是为了区分被注解的类处于不同的业务层,使逻辑更加清晰
 

16、‌mabatis里的#和$符的区别是什么?

彻底搞懂MyBaits中#{}和${}的区别_緑水長流*z的博客-CSDN博客MyBatis中${}和#{}的区别1.1 ${}和#{}演示数据库数据:dao接口:List<User> findByUsername(String username);List<User> findByUsername2(String username);Mapper.xml:<!-- 使用#{} --><select id="findByUsername" parameterType="java.lang.String" resuhttps://blog.csdn.net/Bb15070047748/article/details/107188167/?ops_request_misc=&request_id=&biz_id=102&utm_term=mabatis%E9%87%8C%E7%9A%84?ops_request_misc=&request_id=&biz_id=102&utm_term=mabatis%E9%87%8C%E7%9A%84&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-107188167.142%5Ev31%5Econtrol,185%5Ev2%5Econtrol&spm=1018.2226.3001.4187#%E5%92%8C$%E7%AC%A6%E7%9A%84%E5%8C%BA%E5%88%AB%E6%98%AF%E4%BB%80%E4%B9%88&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-107188167.142%5Ev31%5Econtrol,185%5Ev2%5Econtrol#{}是预编译处理,${}是字符串替换。

Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;

Mybatis在处理时 , 就是把{}替换成变量的值。

使用#{}可以有效的防止SQL注入,提高系统安全性
 

17、‌mabatis的一级缓存和二级缓存有了解过吗?

Mybatis的一级缓存和二级缓存,看完不再懵逼_马丁的早晨n的博客-CSDN博客缓存是什么?缓存其实就是存储在内存中的临时数据,这里的数据量会比较小,一般来说,服务器的内存也是有限的,不可能将所有的数据都放到服务器的内存里面,所以, 只会把关键数据放到缓存中,缓存因为速度快,使用方便而出名!为什么需要缓存BS架构里面,用户的所有操作都是对数据库的增删改查,其中查询的操作是最多的,但如果用户想要某个数据时每次都去数据库查询,这无疑会增加数据库的压力,而...https://blog.csdn.net/zhuimeng2023/article/details/124335748?ops_request_misc=&request_id=&biz_id=102&utm_term=%E2%80%8Cmybatis%E7%9A%84%E4%B8%80%E7%BA%A7%E7%BC%93%E5%AD%98%E5%92%8C%E4%BA%8C%E7%BA%A7%E7%BC%93%E5%AD%98%EF%BC%9F&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-124335748.142%5Ev31%5Econtrol,185%5Ev2%5Econtrol&spm=1018.2226.3001.4187Mybatis的一级缓存和二级缓存_毅在此的博客-CSDN博客_mybatis一级缓存二级缓存mybatis的一级缓存和二级缓存https://blog.csdn.net/qq_47872591/article/details/125199545?ops_request_misc=&request_id=&biz_id=102&utm_term=%E2%80%8Cmybatis%E7%9A%84%E4%B8%80%E7%BA%A7%E7%BC%93%E5%AD%98%E5%92%8C%E4%BA%8C%E7%BA%A7%E7%BC%93%E5%AD%98%EF%BC%9F&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-125199545.142%5Ev31%5Econtrol,185%5Ev2%5Econtrol&spm=1018.2226.3001.4187

18、‌redis数据库了解多少?他的几种数据类型可以说一下吗?

‌redis使用场景有哪些?作用是什么?

有了解过redis的持久化吗?

Java面试——Redis系列总结_张起灵-小哥的博客-CSDN博客文章目录:1.什么是Redis?2.为什么要用 Redis / 为什么要用缓存?3.Redis为什么这么快?4.Redis都有哪些数据类型?5.什么是Redis持久化?Redis 的持久化有哪些实现方式?6.什么是Redis事务?7.谈谈你对Redis集群方案——哨兵模式 的理解8.Redis主从复制的原理是什么?9.Redis如何实现分布式锁?10.Redis中的缓存穿透、缓存击穿、缓存雪崩是什么?1.什么是Redis?Redis(Remote Dictihttps://blog.csdn.net/weixin_43823808/article/details/120700839

19、‌有了解过sql的优化吗?比如让你查大量的数据,想要查询速度更快一点,如果让你在sql里面增加查询速度的话,有什么办法呢?比如说用索引来进行优化?

MySQL进阶:索引的使用及理解_王会举的博客-CSDN博客索引是mysql中非常重要的一个知识点,面试中会经常会被问到.为了offer,认真理解下面知识点吧.1:什么是索引?索引是一种用于快速查询和检索数据的数据结构。mysql中的索引结构有: B+树和Hash。索引的作用就相当于目录的作用。我们只需要先去目录里查找字的位置,然后直接翻到那一页就行了。这样查找就会非常快.2:索引的优缺点?优点:可以大大加快 数据的检索速度(大大减少的检索的数据量), 这也是创建索引的最主要的原因。毕竟大部分系统的读请求总是大于写请求的....https://blog.csdn.net/wang5701071/article/details/108795580Sql性能优化看这一篇就够了_葫芦胡的博客-CSDN博客_sql性能优化前言:一个优秀开发的必备技能:性能优化,包括:JVM调优、缓存、Sql性能优化等。本文主要讲基于Mysql的索引优化。首先我们需要了解执行一条查询SQL时Mysql的处理过程:其次我们需要知道,我们写的SQL在Mysql的执行顺序是怎么样的?sql的执行顺序对sql的性能优化很有帮助,很重要。在建立复合索引的时候需要考虑到这点。例:在tb_dept中建立一个复合索引 i...https://blog.csdn.net/HXNLYW/article/details/82979088?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%9C%89%E4%BA%86%E8%A7%A3%E8%BF%87sql%E7%9A%84%E4%BC%98%E5%8C%96&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-82979088.142%5Ev31%5Econtrol,185%5Ev2%5Econtrol&spm=1018.2226.3001.4187sql优化的N种方法_持续更新_王会举的博客-CSDN博客_sql优化当你访问网站的时候,有的时候会慢的想让你砸电脑,这个时候服务器要背锅了吗? 不,要背锅的不仅仅是服务器,数据库也有很大责任,不负责任的sql开发者更会让你崩溃的.为了提高sql响应速度,还是好好了解下sql的优化吧sql优化的方式1: explain关键字 :使用explain关键字来查看当前sql语句的执行情况,来对症下药.因为内容较多,放在最后进行讲解2: 正确的建立索引:索引的建立对sql的影响是非常大的,如果对索引不太理解的可以看我另一篇文章: ...https://blog.csdn.net/wang5701071/article/details/108797859?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%9C%89%E4%BA%86%E8%A7%A3%E8%BF%87sql%E7%9A%84%E4%BC%98%E5%8C%96&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-108797859.142%5Ev31%5Econtrol,185%5Ev2%5Econtrol&spm=1018.2226.3001.4187

20、‌前端用的什么框架?‌vue的一个生命周期可以简单说一下吗?

Vue框架详解(适合Java学习者)_Coder Xu的博客-CSDN博客_vue框架文章目录一、前言二、Vue概述三、MVVM架构1.什么是MVVM2.MVVM的好处3.MVVM图解四、第一个Vue程序五、Vue七大属性六、常用指令1.绑定属性(v-bind)2.判断(v-if)3.循环(v-for)4.绑定事件(v-on)七、数据双向绑定八、Vue组件九、Vue生命周期1.Vue生命周期理解2.Vue生命周期图解3.钩子函数九、Axios异步通信十、计算属性十一、插槽slot十二、自定义事件内容分发十三、vue-cli脚手架1.什么是vue-cli2.使用vue-cli的环境前提3.创建https://blog.csdn.net/weixin_46594796/article/details/114897747?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165719845016781685389681%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165719845016781685389681&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-114897747-null-null.142^v32^pc_search_v2,185^v2^control&utm_term=vue%E6%A1%86%E6%9E%B6&spm=1018.2226.3001.4187

‌21、你对Ajax是怎么理解的?

‌其实阿贾克斯就是一个异步请求,那同步和异步你是怎么理解的?

看这一篇就够了!-Ajax详解_抱着猫睡觉的鱼_的博客-CSDN博客今天来聊一聊前后端交互的重要工具Ajax结合上次跟大家分享的前后端交互基础,如果还没有看过的童鞋,以下是传送门前后端交互详解AJAX- 到底什么是Ajax?ajax 全名 async javascript and XML是前后台交互的能⼒也就是我们`客户端给服务端发送消息的⼯具,以及接受响应的⼯具是⼀个 默认异步执⾏机制的功能AJAX分为同步(async = false...https://blog.csdn.net/Oriental_/article/details/104863762?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165719978916782391885795%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165719978916782391885795&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-104863762-null-null.142^v32^pc_search_v2,185^v2^control&utm_term=Ajax&spm=1018.2226.3001.4187

22、‌jQuery有了解吗?什么是jQuery?

JQuery简介 - 什么是jQuery_柯晓楠的博客-CSDN博客_jquery是什么概念官方概念:jQuery是一个快速,小型且功能丰富的JavaScript库。借助易于使用的API(可在多种浏览器中使用),使HTML文档的遍历和操作,事件处理,动画和Ajax等事情变得更加简单。个人理解:jQuery是JavaScript的一个工具库,工具库就是指封装好的JavaScript函数,可以直接在程序中进行调用,那jQuery就是一款非常流行的JavaScript库。jQ...https://blog.csdn.net/p445098355/article/details/103988348?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165720098816782184634125%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165720098816782184634125&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-3-103988348-null-null.142^v32^pc_search_v2,185^v2^control&utm_term=%E4%BB%80%E4%B9%88%E6%98%AFjQuery%EF%BC%9F&spm=1018.2226.3001.4187

23、‌有用过什么选择器吗前端?

JQuery选择器超级详细_深知她是一场梦的博客-CSDN博客_jquery 选择器基本选择器id选择器:$("#id的属性值")获取与指定id属性值匹配的元素单击按钮,将id为myid的元素背景为绿色<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>JQuery选择器</title> <script src="js/jquery-3.3.1.min...https://blog.csdn.net/lgl782519197/article/details/107833481?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165720141716782425174302%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165720141716782425174302&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-13-107833481-null-null.142^v32^pc_search_v2,185^v2^control&utm_term=%E9%80%89%E6%8B%A9%E5%99%A8&spm=1018.2226.3001.4187
‌你在实习的半年中有遇到什么困难吗?
‌你记忆比较深的bug?

数据库中常用的函数

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值