自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 面试问题-企业场景篇

简单工厂所有的产品都共有一个工厂,如果新增产品,则需要修改代码,违反开闭原则● 是一种编程习惯,可以借鉴这种编程思路工厂方法模式给每个产品都提供了一个工厂,让工厂专门负责对应的产品的生产,遵循开闭原则项目中用的最多抽象工厂方法模式如果有多个纬度的产品需要配合生产时,优先建议采用抽象工厂(工厂的工厂)一般的企业开发中的较少策略模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户一个系统需要动态地在几种算法中选择一种时,可将每个算法封装到策略类中。

2024-05-24 16:24:24 451

原创 面试问题-JVM篇

线程私有的,每个线程一份,内部保存的字节码的行号。用于记录正在执行的字节码指令的地址。线程共享的区域:主要用来保存对象实例,数组等,内存不够则抛出OutOfMemoryError异常。组成:年轻代+老年代年轻代被划分为三部分,Eden区和两个大小严格相同的Survivor区老年代主要保存生命周期长的对象,一般是一些老的对象Jdk1.7和1.8的区别1.7中有有一个永久代,存储的是类信息、静态变量、常量、编译后的代码1.8移除了永久代,把数据存储到了本地内存的元空间中,防止内存溢出。

2024-05-24 16:18:44 641

原创 面试问题-并发篇

是多线程中的队列同步器。是一种锁机制,它是做为一个基础框架使用的像ReentrantLock、Semaphore都是基于AQS实现的AQS内部维护了一个先进先出的双向队列,队列中存储的排队的线程在AQS内部还有一个属性state,这个state就相当于是一个资源,默认是0(无锁状态),如果队列中的有一个线程修改成功了state为1,则当前线程就相等于获取了资源在对state修改的时候使用的cas操作,保证多个线程修改的情况下原子性。

2024-05-24 16:14:10 442

原创 面试问题-集合篇

每个节点最多有两个“叉”,分别是左子节点和右子节点。不要求每个节点都有两个子节点,有的节点只有左子节点,有的节点只有右子节点。二叉树每个节点的左子树和右子树也分别满足二叉树的定义二叉搜索树(Binary Search Tree,BST)又名二叉查找树,有序二叉树在树中的任意一个节点,其左子树中的每个节点的值,都要小于这个节点的值而右子树节点的值都大于这个节点的值没有键值相等的节点通常情况下二叉树搜索的时间复杂度为O(logn)

2024-05-24 15:59:11 1570 1

原创 面试问题-消息中间件篇

RabbitMQ-如何保证消息不丢失?我们当时MySQL和Redis的数据双写一致性就是采用RabbitMQ实现同步的,这里面就要求了消息的高可用性,我们要保证消息的不丢失。主要从三个层面考虑第一:开启生产者确认机制,确保生产者的消息能到达队列,如果报错可以先记录到日志中,再去修复数据第二:开启持久化功能,确保消息未消费前在队列中不会丢失,其中的交换机、队列、和消息都要做持久化第三:开启消费者确认机制为auto,由spring确认消息处理成功后完成ack,当然也需要设置一定的重试次数,我们当时

2024-05-24 15:51:06 1680 1

原创 面试问题-微服务篇

Spring Cloud 5大组件有哪些?通常情况下:Eureka:注册中心、Ribbon:负载均衡、Feign:远程调用、Hystrix:服务熔断、Zuul/Gateway:网关随着SpringCloudAlibba在国内兴起,我们项目中使用了一些阿里巴巴的组件注册中心/配置中心 Nacos、负载均衡 Ribbon、服务调用 Feign、服务保护 sentinel、服务网关 Gateway

2024-05-24 15:43:13 635 1

原创 面试问题-框架篇

Spring框架中的单例bean是线程安全的吗?不是线程安全的,当多用户同时请求一个服务时,容器会给每一个请求分配一个线程,这是多个线程会并发执行该请求对应的业务逻辑(成员方法),如果该处理逻辑中有对该单列状态的修改(体现为该单例的成员属性),则必须考虑线程同步问题。Spring框架并没有对单例bean进行任何多线程的封装处理。关于单例bean的线程安全和并发问题需要开发者自行去搞定。比如:我们通常在项目中使用的Springbean都是不可可变的状态(比如Service类和DAO类),所以在某种程

2024-05-24 15:30:04 548 1

原创 面试问题-MySQL篇

MySQL中,如何定位慢查询 ?我们当时做压测的时候有的接口非常慢,接口的响应时间超过了2秒以上,因为我们当时系统部署了运维的监控系统Skywalking,在展示的报表中可以看到是哪一个接口比较慢,并且可以分析这个接口哪部分比较慢,这里可以看到SQL的具体的执行时间,所以可以定位是哪个sql出了问题

2024-05-24 15:19:39 1251 1

原创 面试问题-Redis篇

什么是缓存穿透?怎么解决?缓存穿透是指查询一个不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到DB去查询,可能导致DB挂掉。这种情况大概率是遭遇了攻击。解决方案的话,我们通常会用布隆过滤器去解决它

2024-05-24 14:29:33 340

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除