当前位置: 首页 > news >正文

网站的优点有哪些方面wordpress媒体库 不显示图片

网站的优点有哪些方面,wordpress媒体库 不显示图片,南昌专门做网站的公司,seo关键词优化技巧一、Redis 1. 使用场景 #xff08;1#xff09;Redis的数据持久化策略有哪些 RDB#xff1a;全称Redis Database Backup file#xff08;Redis数据备份文件#xff09;#xff0c;也被叫作Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故…一、Redis 1. 使用场景 1Redis的数据持久化策略有哪些 RDB全称Redis Database Backup fileRedis数据备份文件也被叫作Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后从磁盘读取快照文件恢复数据。 RDB的执行原理 bgsave开始时会fork主进程得到子进程子进程共享主进程的内存数据。完成fork后读取内存数据并写入RDB文件。fork采用的是copy-on-write技术 当主进程执行读操作时访问共享内存 当主进程执行写操作时则会拷贝一份数据执行写操作。 AOF AOF全称为Append Only File追加文件。Redis处理的每一个写命令都会记录在AOF文件可以看做是命令日志文件。 2什么是缓存穿透怎么解决 缓存穿透查询一个不存在的数据mysql查询不到数据也不会直接写入缓存就会导致每次请求都查数据库 解决方案一缓存空数据查询返回的数据为空扔把这个空结果进行缓存。优点简单缺点消耗内存可能会发生不一致的问题 解决方案二布隆过滤器 3什么是布隆过滤器 误判率数组越小误判率越大数组越大误判率就越小但是同时带来了更多的内存消耗。 优点内存占用较少没有多余key缺点实现复杂存在误判 4什么是缓存击穿怎么解决 缓存击穿给某一个key设置了过期时间当key过期的时候恰好这个时间点对这个key有大量的并发请求过来这些并发的请求可能会瞬间把DB压垮 解决方案一互斥锁强一致性能差 解决方案二逻辑过期高可用性能优不能保证数据绝对一致 5什么是缓存雪崩怎么解决 缓存雪崩实质同一时间段大量的缓存key同时失效或者Redis服务宕机导致大量请求到达数据库带来巨大压力。 6redis双写一致性问题redis作为缓存mysql的数据如何与redis进行同步 双写一致性当修改了数据库的数据也要同时更新缓存的数据缓存和数据库的数据要保持一致 先删除缓存还是先修改数据库 7Redis分布式锁如何实现 8Redis实现分布式锁如何合理的控制锁的有效时长 9Redis的数据过期策略有哪些 惰性删除设置key过期时间后我们不去管它当需要该key时我们再检查其是否过期如果过期我们就删掉它反之返回该key 优点对CPU友好只会在使用该key时才会进行过期检查对于很多用不到的key不用浪费时间进行过期检查 缺点对内存不友好如果一个key已经过期但是一直没有使用那么该key就会一直存在内存中内存永远不会释放。 定期删除每隔一段时间我们就会对一些key进行检查删除里面过期的key从一定数量的数据库中取出一定数量的随机key进行删除并删除其中的过期key。 10Redis的数据淘汰策略有哪些 数据的淘汰策略当Redis中的内存不够用时此时再向Redis中添加新的key那么Redis就会按照某一种规则将内存中的数据删除掉这种数据的删除规则则被称之为内存的淘汰策略。 2. 面试题 1Redis集群有哪些方案 在Redis中中提供的集群方案总共有三种 主从复制哨兵模式分片集群 2什么是Redis主从同步 单结点Redis的并发能力是有上限的要进一步提高Redis的并发能力就需要搭建主从集群实现读写分离。 3哨兵的作用 Redis提供了哨兵Sentinel机制来实现主从集群的自动故障恢复。哨兵的结构和作用如下 4Redis集群哨兵模式脑裂该怎么解决 5你们使用Redis是单点还是集群哪种集群 6Redis分片集群中数据是怎么存储和读取的 主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决 海量数据存储问题高并发写的问题 使用分片集群可以解决上述问题分片集群特征 集群中有多个master每个master保存不同数据每个master都可以有多个slave节点master之间通过ping监测彼此健康状态客户端请求可以访问集群任意节点最终都会转发到正确节点 6怎么保证Redis的高并发高可用 7你们用过Redis的事务吗事务的命令有哪些 8Redis是单线程的但是为什么还那么快 二、MySQL 1. SQL优化 1在MySQL如何定位慢查询 聚合查询多表查询表数据量过大查询深度分页查询 表象页面加载过慢、接口压测响应时间过长超过1s 方案一开源工具 调试工具Arthas运维工具Prometheus、Skywalking 方案二MySQL自带慢日志 慢查询日志记录了所有执行时间超过指定参数long_query_time单位秒默认10秒的所有SQL语句的日志。如果要开启慢查询日志需要在MySQL的配置文件/etc/my.cnf中配置如下信息 配置完毕之后通过以下命令重新启动MySQL服务器进行测试查看慢日志文件中记录的信息/var/lib/mysql/localhost-slow.log 2一个SQL语句执行很慢如何分析 可以采用EXPLAIN或者DESC命令获取MySQL如何执行SELECT语句的信息 3了解过索引吗什么是索引 索引index是帮助MySQL高效获取数据的数据结构有序。在数据之外数据库系统还维护着满足特定查找算法的数据结构B树这些数据结构以某种方式引用指向数据这样就可以在这些数据结构上实现高级查找算法这种数据结构就是索引。 4什么是聚簇索引什么是非聚簇索引 什么是聚集索引什么是二级索引非聚集索引什么是回表 在二级索引中找到name字段对应的主键值然后再根据主键值到聚集索引中查找对应行数据。 5什么是覆盖索引 6MySQL超大分页处理 在数据量比较大时如果进行limit分页查询在查询时越往后分页查询效率越低。 优化思路一般分页查询时通过创建覆盖索引能够比较好地提高性能可以通过覆盖索引加子查询形式进行优化。 7索引创建原则有哪些 主键索引唯一索引根据业务创建的索引复合索引 ①针对于数据量较大且查询比较频繁的表建立索引 - 单表超过10万条数据增加用户体验 ②针对于常作为查询条件where、排序order by、分组group by操作的字段建立索引。 ③尽量选择区分度高的列作为索引尽量建立唯一索引区分度越高使用索引的效率越高 ④如果是字符串类型的字段字段的长度较长可以针对于字段的特点建立前缀索引。 ⑤尽量使用联合索引减少单列索引查询时联合索引很多时候可以覆盖索引节省存储空间避免回表提高查询效率。 ⑥要控制索引的数量索引并不是多多益善索引越多维护索引结构的代价也就越大会影响增删改的效率。 ⑦如果索引列不能存储NULL值请在创建表时使用NOT NULL约束它。当优化器知道每列是否包含NULL值时它可以更好地确定哪个索引最有效地用于查询。 8什么情况下索引会失效 9谈谈你对sql的优化经验 表的设计优化索引优化SQL语句优化主从复制、读写分离分库分表 2. 其他面试题 1事务的特性是什么可以详细说一下吗 事务是一组操作的集合它是越高不可分割的工作单位事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求即这些操作要么成功要么同时失败。 ACID是什么 2并发事务带来哪些问题怎么解决这些问题呢MySQL的默认隔离级别是 并发事务问题脏读、不可重复读、幻读 隔离级别读未提交、读已提交、可重复读、串行化 解决方案对事务进行隔离 注意事务隔离级别越高数据越安全但是性能越低。 MySQL默认的隔离级别是Repeatable Read(可重复读) 3undo log和redo log的区别 4解释一下MVCC - 事务隔离性 全称Multi-Version Concurrency Control多版本并行控制。指维护一个数据的多个版本使得读写操作没有冲突。MVCC的具体实现主要依赖于数据库记录中的隐式字段、undo log日志、readView读视图。 记录中的隐藏字段 undo log undo log版本链 readview 5MySQL主从同步原理 6你们项目用过分库分表吗 拆分策略垂直拆分、水平拆分 垂直分库以表为依据根据业务将不同表拆分到不同库中。 特点 ①按业务对数据分级管理、维护、监控、扩展②在高并发下提高磁盘IO和数据量连接数 垂直分表以字段为依据根据字段熟悉将不同字段拆分到不同表中。 拆分规则 把不常用的字段单独放到一张表把text、blob等大字段拆分出来放在附表中 特点①冷热数据分离②减少IO过渡争抢两表互不影响 水平分库将一个库的数据拆分到多个库中。 水平分表将一个表的数据拆分到多个表中可以在同一个库内。 三、Spring 1Spring框架中的单例bean是线程安全的吗 2什么是AOP你们项目中有没有使用到AOP AOP基础-CSDN博客 3Spring中的事务是如何实现的 Spring支持编程式事务管理和声明式事务管理两种方式。 ​​​​​​​ 4Spring中事务失效的场景有哪些 情况一异常捕获处理 如果在一个事务方法内部捕获了异常并对其进行了处理Spring事务管理可能无法感知异常的发生从而导致事务失效。事务通知只有捕捉到了目标抛出的异常才能进行后续的回滚处理如果目标自己处理掉异常事务通知无法知悉。 情况二抛出异常 如果抛出的异常不是继承自RuntimeExceptionSpring默认不会回滚事务。所以确保抛出的异常继承自RuntimeException或声明在方法签名中。 情况三非public方法导致的事务失效 情况四未使用代理对象 Spring的事务管理通常通过代理对象来实现事务的增强如果直接调用一个带有Transactional注解的方法而不是通过代理对象调用事务将不会生效。 情况五编程式事务管理下抛出异常未被捕获 在基于编程式事务管理时如果一个带有Transactional注解的方法内部发生但未被捕获在异常传播至事务管理器时可能导致事务无法回滚。 情况六运行时异常未被声明 只有在方法声明的检查异常checked exception被抛出时Spring 事务管理器才会触发事务回滚。如果抛出的是运行时异常且未被显式声明在方法签名中可能会导致事务未能正确回滚。 情况七嵌套调用问题 在嵌套调用的情况下事务的传播机制需要正确设置否则可能导致外部事务失效或内部事务回滚不受控制。 情况八多个事务注解嵌套使用 在某个方法上同时使用多个 Transactional 注解可能导致事务失效或者事务传播不符合预期。 5Spring的bean的生命周期 6Spring中的循环引用 什么是Spring的循环依赖 三级缓存解决循环依赖 Spring解决循环依赖是通过三级缓存对应的三级缓存如下所示 一级缓存作用限制bean在beanFactory中只存一份即实现singleton scope解决不了循环依赖 如果要想打破循环依赖就需要一个中间人的参与这个中间人就是二级缓存 7SpringMVC的执行流程 视图阶段JSP 8SpringBoot的自动配置原理 9Spring框架常见注解Spring、SpringBoot、SpringMVC Spring的常见注解有哪些 SpringMVC的常见注解有哪些 SpringBoot常见注解有哪些 四、MyBatis 1MyBatis执行流程 2MyBatis是否支持延迟加载 3MyBatis的一级、二级缓存用过吗 一级缓存 一级缓存基于PerpetualCache的HashMap本地缓存其存储作用域为Session当Session进行flush或close之后该Session中的所有Cache就将清空默认打开一级缓存。 二级缓存 二级缓存是基于namespace和mapper的作用域起作用的不是依赖于SQL session默认也是采用PerpetualCacheHashMap存储 注意事项 对于缓存数据更新机制当某一个作用域一级缓存Session/二级缓存Namespaces进行了新增、删除操作后默认该作用域所有select中的缓存将被clear二级缓存需要缓存的数据实现Serializable接口只有会话提交或者关闭以后一级缓存中的数据才会转移到二级缓存中 五、SpringCloud 1Spring Cloud的5大组件有哪些 通常情况下 Eureka/Nacos注册中心 Ribbon/SpringCloudLoadBalancer负载均衡 Feign远程调用 Hystrix/Sentinel服务熔断 Zuul/Gateway网关 2服务注册和发现是什么意思Spring Cloud如何实现服务注册发现 常见的注册中心Eureka、Nacos、Zookeeper (3)你们项目负载均衡是如何实现的 4什么是服务雪崩怎么解决这个问题 服务降级是服务自我保护的一种方式或者保护下游服务的一种方式用于确保服务不会受请求突增影响变得不可用确保服务不会崩溃 服务熔断Hystrix熔断机制用于监控微服务调用情况默认是关闭的如果需要开启需要在引导类上添加注解EnableCircuitBreaker。如果检测到10秒内请求的失败率超过50%就触发熔断机制之后每隔5秒重新尝试请求微服务如果微服务不能响应继续走熔断机制。如果微服务可达则关闭熔断机制恢复正常请求。 5你们的微服务是怎么监控的 6你们项目中有没有做过限流怎么做的 为什么要限流 并发的确大突发流量防止用户恶意刷接口 限流的实现方式 Tomcat可以设置最大连接数Nginx漏桶算法网关令牌桶算法自定义拦截器 Nginx限流 控制速率突发流量 控制并发连接数 网关限流 yml配置文件中微服务路由设置添加局部过滤器RequestRateLimiter 7解释一下CAP和BASE CAP定理 BASE理论 8你们采用的是哪种分布式事务解决方案 9分布式服务的接口幂等性如何设计 10你们项目中使用了什么分布式任务调度 六、RabbitMQ 1RabbitMQ如何保证消息不丢失 2RabbitMQ消息的重复消费问题如何解决 3RabbitMQ中死信交换机RabbitMQ延迟队列有了解过吗 4RabbitMQ如果有100万消息堆积在MQ如何解决消息堆积怎么解决 5RabbitMQ的高可用机制有了解过吗 七、Kafka 1Kafka是如何保证消息不丢失 2Kafka是如何保证消费的顺序性的 3Kafka的高可用机制有了解过吗 4Kafka数据清理机制了解过吗 5Kafka中实现高性能的设计有了解过吗 八、Java集合 1. 数据结构 1数组 2ArrayList源码分析 3ArrayList底层的实习原理是什么 4ArrayList list new ArrayList(10)中的list扩容几次 5如何实现数组和List之间的转换 6单向链表 7双向链表 8ArrayList和LinkedList的区别是什么 9二叉树 10散列表 11HashMap的实现原理 12HashMap的put方法的具体流程 13讲一讲HashMap的扩容机制 14HashMap的寻址算法 15HashMap在1.7情况下的多线程死循环问题 九、多线程 1线程和进程的区别 2并行和并发有什么区别 3创建线程的方式有哪些 4线程包括哪些状态状态之间是如何变化的 5新建T1、T2、T3三个线程如何保证它们按顺序进行 6notify()和notifyAll()有什么区别 7在Java中wait和sleep方法的不同 8如何停止一个正在运行的线程 9synchronized关键字的底层原理 10你谈谈JMMJava内存模型 JMMJava Memory ModelJava内存模型定义了共享内存中多线程程序读写操作的行为规范通过这些规则来规范对内存的读写操作从而保证指令的正确性。 11CAS你知道吗 12谈谈你对volatitle的理解 13什么是AQS 全称是AbstractQueuedSynchronizer即抽象队列同步器。它是构建锁或者其他同步组件的基础框架。 14ReentrantLock的实现原理 15synchronized和Lock有什么区别 16死锁产生的条件是什么 17谈谈你对ConcurrentHashMap的理解 18导致并发程序出现问题的根本原因是什么Java程序中怎么保证多线程的执行安全 Java并发编程的三大特性原子性、可见性、有序性 19说一下线程池的核心参数线程池的执行原理知道吗 20线程池中有哪些常见的阻塞队列 21如何确定核心线程数 22线程池的种类有哪些 23为什么不建议用Executors创建线程池 嵩山版Java开发手册-阿里云开发者社区 24线程池使用场景CountDownLatch、Future CountDownLatch 25如何控制某个方法允许并发访问线程的数量 26谈谈你对ThreadLocal的理解 十、JVM 1JVM是什么 Java Virtual MachineJava程序的运行环境java二进制字节码的运行环境 2JVM由哪些部分组成运行流程是什么 3什么是程序计数器 程序计数器线程私有的内部保存的字节码的行号。用于记录正在执行的字节码指令的地址。 4能详细介绍一下Java堆吗 线程共享的区域主要用来保存对象实例、数组等当堆中没有内存空间可分配给实例也无法再扩展时则抛出OutOfMemoryError异常。 5什么是虚拟机栈 Java Virtual machine Stacksjava 虚拟机栈 每个线程运行时所需要的内存称为虚拟机栈先进后出 每个栈由多个栈帧frame组成对应着每次方法调用时所占用的内存 每个线程只能有一个活动栈帧对应着当前正在执行的那个方法 6能不能解释一下方法区 7你听过直接内存吗 直接内存并不属于JVM中的内存结构不由JVM进行管理。是虚拟机的系统内存常见于NIO操作时用于数据缓存区它分配回收成本较高但读写性能高不受JVM内存回收管理。 8什么是类加载器类加载器有哪些 7什么是双亲委派模型 8说一下类装载的执行过程 类从加载到虚拟机中开始知道卸载为止它的整个生命周期包括了加载、验证、解析、初始化、使用和卸载着7个阶段。其中验证、准备和解析这三个部分统称为连接linking 9对象什么时候可以被垃圾器回收 如果一个对象或多个对象没有任何的引用指向它了那么这个对象限现在就是垃圾如果定位了垃圾则有可能会被垃圾回收器回收。 如果要定位什么是垃圾有两种方式来确定第一个是引用计数法第二个是可达性分析算法 10JVM垃圾回收算法有哪些 ①标记清除算法②复制算法③标记整理算法 11说一下JVM中的分代回收 12说一下JVM有哪些垃圾回收器 在JVM中实现了多种垃圾收集器包括①串行垃圾收集器、并行垃圾收集器、CMS并发垃圾收集器④G1垃圾收集器 复制完成内存得到释放。进入下一轮的新生代回收、并发标记、混合收集 13强引用、软引用、弱引用、虚引用的区别 强引用只有所有GC Roots对象不通过【强引用】引用该对象该对象才能被垃圾回收 软引用仅有软引用该对象时在垃圾回收后内存仍不足时会再次触发垃圾回收 弱引用仅有弱引用引用该对象时在垃圾回收时无论内存是否充足都会回收弱引用对象 虚引用必须配合引用队列使用被引用对象回收时会将虚引用入队由Reference Handler线程调用虚引用相关方法释放直接内存。 14JVM调优的参数可以在哪里设置参数值 war包部署在tomcat中设置 修改TOMCAT_HOME/bin/catalina.sh文件 jar包部署在启动参数设置 通常在linux系统下直接加参数启动springboot项目 nohup用于在系统后台不断地运行命令退出终端不会影响程序的运行 参数 让命令在后台执行终端退出后命令仍旧执行 15JVM调优的参数都有哪些 d对于JVM调优主要是调整年轻代、老年代、元空间的的内存空间大小及使用的垃圾回收器类型。 Java HotSpot VM Options 设置堆空间大小 虚拟机栈的设置 年轻代中Eden区和两个Survivor区的大小比例 年轻代晋升老年代阈值 设置垃圾回收收集器 16说一下JVM调优的工具 ​​​​​​​ 17Java内存泄露的排查思路 1. 通过jmap指令打印它的内存快照dumpDump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中 2. 通过工具VisualVM去分析dump文件VisualVM可以加载离离线的dump文件 3. 通过查看堆信息的情况可以大概定位内存溢出是哪行代码出了问题 18CPU飙高排查方案与思路 十一、设计模式 1简单工厂模式 2工厂方法模式 3抽象工厂模式 4策略模式 5责任链设计模式 十二、其他 1单点登录这块怎么实现 单点登录的英文名叫作Single Sign On简称SSO只需要登录一次就可以访问所有信任的应用系统。 2权限认证是如何实现的 后台的管理系统更注重权限控制最常见的就是RBAC模型来指导实现权限 RBACRole-Based Access Control基于角色的访问控制 3上传数据的安全性你们是怎么控制的 4你负责项目的时候遇到了哪些比较棘手的问题怎么解决的 5你们项目中日志怎么采集的 6查看日志的命令 7生产问题怎么排查 8怎么快速定位系统的瓶颈 ​​​​​​​
http://www.w-s-a.com/news/630710/

相关文章:

  • 静态网站建设参考文献茂名营销型网站制作公司
  • 君山区建设局网站风铃微网站怎么做
  • 购物网站销售管理合肥网络推广平台
  • 网站建设规划书txt微盘注册帐号
  • 小说网站开发实训报告企业网盘收费标准
  • mvc网站开发医疗医院网站建设
  • 天津市建设厅官方网站wordpress设置404
  • 贵阳好的网站建设免费正能量网站下载ww
  • 免费学习的网站平台自建站seo如何做
  • 海南三亚做网站公众号版面设计创意
  • 学校网站建设目的与意义合肥网页定制
  • 网站查询地址网站建设与维护费用
  • 做网站哪些软件比较好合肥外贸网站建设公司
  • 建网站需要哪些条件专业网站设计报价
  • 定制网站开发技术化妆品的网站布局设计图片大全
  • 网站模糊设计发布产品的免费平台有哪些
  • 网站建站什么目录桂林网站建设内容
  • 光明新区城市建设局网站长沙营销型网站制作费用
  • 网站建设制度制定wordpress主题哥
  • 门户网站的种类php网站开发实训心得
  • 流程图制作网页网络优化seo
  • 个人公益网站怎么制作wordpress flat theme
  • 做营销型网站的公司篇高端网站愿建设
  • 五莲网站建设维护推广凡科做网站的方法
  • 山东省住房建设厅网站首页网站文章更新怎么通知搜索引擎
  • 商务网站的可行性分析包括大流量网站 优化
  • 推广网站有效的方法网站数据统计
  • 自建视频网站WordPress数据库添加管理员
  • 新民电商网站建设价格咨询网站建设高效解决之道
  • 做网站需要哪些步骤网站设计介绍