![](https://img-blog.csdnimg.cn/914ed446d7dc4a779b16de7bb92ee0c1.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
高频面试题
文章平均质量分 89
高频面试题相关
欲无缘
Java后端开发 陆续分享后端分布式、中间件、 服务器运维、云原生、前端、移动开发、大数据等相关知识。
展开
-
MySQL相关面试题
事务是由一条或多条操作数据库的SQL组成的一个不可分割的工作单元,这些操作要么全部执行成功,要么全部失败。死锁是指两个或多个事务在同一资源上向胡战勇,并请求锁定对方的资源,从而导致恶性循环。解决方案:1、如果不同程序会并发存取多个表,尽量约定以相同的顺序访问表,可以大大降低发生死锁的风险。2、同一个事务中,尽可能做到一次锁定所需要的所有资源,减少死锁产生概率。3、对于非常容易产生死锁的业务部分,可以尝试升级锁定粒度,通过表级锁定来减少死锁产生的概率。redo log(重做日志)是InnoDB。原创 2023-02-10 16:40:10 · 2669 阅读 · 1 评论 -
设计模式相关面试题
简单工厂模式指由⼀个工厂对象来创建实例,客户端不需要关注创建逻辑,只需提供传⼊工厂的参数。适⽤于工厂类负责创建对象较少的情况,缺点是如果要增加新产品,就需要修改工厂类的判断逻辑,违背开闭原则,且产品多的话会使工厂类⽐较复杂。抽象工厂模式指提供⼀个创建⼀系列相关或相互依赖对象的接⼝,⽆需指定它们的具体类。客户端不依赖于产品类实例如何被创建和实现的细节,主要⽤于系统的产品有多于⼀个的产品族,⽽系 统只消费其中某⼀个产品族产品的情况。抽象工厂模式的缺点是不方便扩展产品族,并且增加了系统的 抽象性和理解难度。原创 2023-02-10 13:37:08 · 447 阅读 · 0 评论 -
Netty相关面试题
mainReactor负责监听客户端请求,专门处理新连接的建立,将建立好的连接注册到subReactor。NIO方式适用于连接数目多且连。接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂,JDK1.4开始支持。NIO:同步非阻塞 ,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复。subReactor将分配的连接加入到队列进行监听,当有新的事件发生时,会调用连接相。subReactor将分配的连接加入到队列进行监听,当有新的事件发生时,会调用连接相。原创 2023-02-09 20:53:53 · 302 阅读 · 0 评论 -
JVM相关面试题
实现通过类的权限定名获取该类的二进制字节流的代码块叫做类加载器。JDK⾃带有三个类加载器:bootstrap ClassLoader、ExtClassLoader、AppClassLoader。BootStrapClassLoader是ExtClassLoader的⽗类加载器,默认负责加载%JAVA_HOME%lib下的jar包和class⽂件。ExtClassLoader是AppClassLoader的⽗类加载器,负责加载%JAVA_HOME%/lib/ext⽂件夹下的jar包和class类。原创 2023-02-09 17:21:33 · 491 阅读 · 1 评论 -
RabbitMq相关面试题
了解,消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构;目前使用较多的消息队列有 ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ。原创 2023-02-09 14:01:31 · 482 阅读 · 0 评论 -
SpringCloud Netflix相关面试题
总体来说,微服务是一种架构风格,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合;了解过,在 xx 项目使用过 Dubbo;在 xx 项目使用过 SpringCloud;接下来可能会让你对比一下 Dubbo 和 SpringCloud。其它微服务框架还有 Motan、GRPC、Thrift 等;通过远程协议进行通信 ( 异步、同步 );各个微服务均可被独立部署、扩容、升降级。它的业务功能可以拆分为多个独立的服务;各个服务之间是松耦合的;原创 2023-02-08 18:02:12 · 364 阅读 · 0 评论 -
SpringBoot相关面试题
最后通过反射的方式,利用 java config 方式,将 bean 加载 spring 的 ioc 容器中,完成自动配置;Spring boot 为了简化开发者的使用,采用约定大于配置的思想,简化了 spring MVC 的配置流程;使用自定义的过滤器(或者拦截器)实现,但是这个过滤器(或者拦截器)一定要配置所有过滤器(或者拦截器)的最前面;方案三:自定义过滤器(或者拦截器),要注意,这个拦截器一定要放在所有的拦截器的第一个位置。但是使用此方法后,再使用自定义拦截器时,处理跨域就会失效。原创 2023-02-08 17:40:22 · 374 阅读 · 0 评论 -
SpringMVC相关面试题
(4) 在 Spring4.3 之后,Spring 提供了@GetMapping、@PostMapping、@PutMapping、@DeleteMapping 等来处理 http请求方法的注解;(3) @RequestMapping 默认可以接收所有类型的 http 请求方法(如 POST、GET),可以使用它的 method 属性来指定某种具。用于类上,则表示类中的所。(2) 处理器映射器使用请求的 url(/user.do)去查找(xml、注解)处理器,查找到处理器之后,将。原创 2023-02-08 15:25:24 · 295 阅读 · 0 评论 -
Redis相关面试题
Redis 在生产上的主要问题是考虑容量,单机最多 10-20G,key 太多降低 Redis 性能,因此采用分片集群结构,已经能保。以上三个问题,第一个问题问题问的比较直接,就是问 Redis 的回收策略问题,第二个问题转了一圈,但还是想问 Redis 的。问题 3:MySQL 有 1000 万数据,Redis 只存 20w 的数据,如何保证 redis 中的数据都是热点数据?不做读写分离,我们用的是 Redis 集群架构,是属于分片集群的架构;如果仅仅查询的话,缓存的数据和数据库的数据是没问题的。原创 2023-02-01 16:04:11 · 497 阅读 · 0 评论 -
Spring相关面试题
2.方法不是public的,@Transaction只能用于public的方法上,否则事务不会生效,如果用在public的方法上,可以开启AspectJ代理模式。(2)Spring 是模块化的,并被分为大约 20 个模块(core、beans、context、web 等),允许我们只使用需要的部分,而不需。Java 中的拦截器是基于 Java 反射机制实现的,更准确的划分,应该是基于 JDK 实现的动态代理;对于 spring 框架来说,就是由 spring 来负责控制对象的生命周期和对象间的关系;原创 2023-02-01 15:52:41 · 2900 阅读 · 1 评论 -
Mybatis相关面试题
实现Mybatis的Interceptor接口并复写intercept方法,然后在给插件编写注解,指定要拦截哪一个接口的哪些方法即可,做完之后需要在配置文件中配置编写的插件。能用的占位符的地方,都建议使用#̲{}Mybatis 动态 sql 可以让我们在 Xml 映射文件内,以标签的形式编写动态 sql,完成逻辑判断和动态拼接 sql 的功能。其执行原理是使用 OGNL 从 sql 参数对象中计算表达式的值,根据表达式的值动态拼接 sql,最后来完成动态 sql 的功能。占位符,可以防止SQL注入。原创 2023-02-01 15:42:34 · 208 阅读 · 0 评论 -
Java多线程与JUC相关面试题
当线程A持有独占锁A,并尝试区获取独占锁B的同时,线程B持有独占锁b,并尝试获取独占锁a的情况下,就会发生AB两个线程由于相互持有对方需要的锁,从而发生阻塞的现象,我们称为死锁。很多synchronized里面的代码只是一些很简单的代码,执行速度很快,此时等待的线程都加锁可能是一种不太值得的操作,因为线程阻塞涉及到用户态和内核态切换的问题。既然synchronized里面的代码执行非常快,不妨让等待的线程不要被阻塞,而是在synchronized的边界做忙循环,这就是自旋。原创 2023-02-01 15:36:46 · 545 阅读 · 0 评论 -
Java集合相关面试题
Java.util.Collection是一个集合接口,Collection接口在Java类库中有非常多的实现。Java.util.Collections是针对集合类提供的一个帮助类,它提供了一系列的静态方法实现对集合的搜索、排序、线程安全化的操作。链表是指内存的底层元素和元素不是连续存储的,只是靠着引用指向来形成先后关系。原创 2023-02-01 15:29:37 · 490 阅读 · 1 评论 -
Java基础相关面试题
finalize() 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。如果两个对象的hashCode相同,那么不代表这两个对象是同一个对象,也可能是两个对象。Throws 用在方法签名的最后 表示本方法出现指定种类的异常,方法不做处理。如果两个对象的hashCode不相同,那么这两个对象肯定是不同的两个对象.1.抽象类可以有抽象方法,也可以有普通方法,接口中所有的方法都是抽象方法。CGLAB提供类的代理。==: 如果是基本数据类型,比较的是值,如果是引用类型,比较的是地址。原创 2023-02-01 15:02:06 · 242 阅读 · 0 评论