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

信贷员在哪个网站做推广网站预算表怎么做

信贷员在哪个网站做推广,网站预算表怎么做,金牛网站建设,视频类网站怎么做缓存面试高频问题汇总 在后端、分布式系统面试中,缓存相关问题频繁出现,核心围绕缓存的原理、问题解决、性能优化等。以下是高频考点整理: 一、基础概念类 1. 什么是缓存?为什么要用缓存? 缓存是数据交换的缓冲区&…

缓存面试高频问题汇总

在后端、分布式系统面试中,缓存相关问题频繁出现,核心围绕缓存的原理、问题解决、性能优化等。以下是高频考点整理:

一、基础概念类

1. 什么是缓存?为什么要用缓存?

  • 缓存是数据交换的缓冲区,临时存储高频访问数据,减少对底层数据源(如数据库)的直接访问。
  • 作用:降低延迟(内存读写比磁盘快)、减轻数据库压力、提高系统吞吐量。
    2. 常见的缓存介质有哪些?各有什么特点?
  • 内存缓存(如Redis、Memcached):速度快,适合高频访问数据,但数据易失(需持久化)。
  • 本地缓存(如Caffeine、Guava):进程内缓存,无网络开销,但分布式环境下一致性难保证。
  • 磁盘缓存(如浏览器缓存、CDN):容量大、持久化,但速度较慢。
    3. 缓存更新策略有哪些?各适用于什么场景?
  • Cache Aside(旁路缓存):先更数据库,再删缓存(避免脏读),适用于大多数场景。
  • Write Through(写透):更新缓存同时同步更新数据库,一致性高但性能略低,适合读少写多场景。
  • Write Back(写回):先更缓存,异步批量更新数据库,性能高但有数据丢失风险,适合高并发写场景(如内存数据库)。

二、缓存问题与解决方案类

  1. 缓存穿透、击穿、雪崩的区别与解决?(核心考点)
  • 缓存穿透:请求数据在缓存和数据库都不存在,攻击数据库。
    解决:缓存空值、布隆过滤器、接口参数校验。
  • 缓存击穿:热点数据缓存失效,大量并发请求穿透到数据库。
    解决:互斥锁(分布式锁)、热点数据永不过期、异步更新缓存。
  • 缓存雪崩:大量缓存同时失效或缓存服务宕机,导致请求全量压向数据库。
    解决:过期时间随机化、缓存集群(主从+哨兵)、熔断降级、多级缓存。

2. 缓存一致性问题如何解决?

  • 核心矛盾:缓存与数据库数据不一致(如更新数据库后未更新缓存)。
  • 方案:
  • 优先使用删除缓存而非更新缓存(避免并发更新冲突)。
  • 分布式场景下加锁(如Redis分布式锁)保证操作原子性。
  • 对强一致性需求场景,可引入消息队列异步同步缓存。
    3. 缓存和数据库双写不一致的原因及解决?
  • 原因:并发读写时,更新数据库和缓存的顺序差异导致数据偏差(如A更新数据库后,B更新缓存覆盖了正确值)。
  • 解决:更新数据库后延迟删缓存(避免脏读)、加分布式锁确保单线程更新、使用Canal等工具监听binlog同步缓存。

三、Redis专项类

1. Redis为什么快?

  • 基于内存操作,单线程模型避免线程切换开销,I/O多路复用(epoll)处理高并发连接,数据结构优化(如跳表、压缩列表)。
    2. Redis的过期策略和内存淘汰机制有什么区别?
  • 过期策略:定期删除(每隔一段时间扫描过期key)+ 惰性删除(访问时才检查过期),避免过期key占用内存。
  • 内存淘汰机制:当内存达到maxmemory时,删除部分数据的策略(如LRU最近最少使用、LFU最近最不频繁使用、随机删除等)。
    3. Redis分布式锁的实现原理?如何避免死锁?
  • 原理:通过 SET key value NX EX 命令(原子性)获取锁,释放锁时用Lua脚本删除(避免误删他人锁)。
  • 防死锁:设置锁过期时间、加锁时记录线程标识、定时续期(如Redisson的watch dog机制)。

四、性能优化类

1. 如何设计一个高可用的缓存系统?

  • 多级缓存:本地缓存 + 分布式缓存(如先查Caffeine,再查Redis)。
  • 缓存集群:主从复制(读写分离)、哨兵/集群模式(容灾)。
  • 监控与告警:缓存命中率、内存使用率、响应时间等指标监控,异常时自动扩容或降级。
    2. 缓存命中率低怎么办?
  • 分析原因:缓存粒度不合理(过大/过小)、过期时间设置不当、热点数据未缓存。
  • 优化:调整缓存粒度(如缓存用户基本信息而非全量数据)、延长高频数据过期时间、预热热点数据。
    3. 本地缓存和分布式缓存如何配合使用?
  • 本地缓存存超高频且变化少的数据(如配置信息),减少分布式缓存访问压力。
  • 分布式缓存存跨服务共享数据(如用户会话),保证分布式一致性。
  • 注意:本地缓存需避免数据 stale(可加过期时间或主动刷新)。

五、场景设计类

1. 设计一个秒杀系统的缓存方案?

  • 核心:防止缓存雪崩(商品库存缓存过期随机化)、防击穿(热点商品锁+预加载)、限流削峰(Redis+Lua脚本原子扣减库存)。
    2. 如何用缓存解决数据库读写分离的延迟问题?
  • 读请求优先查缓存,缓存未命中时:非热点数据查从库,热点数据查主库(避免从库延迟导致脏读),并更新缓存。

总结

缓存问题的核心是**“平衡性能、一致性、可用性”**,需结合业务场景(如读写频率、数据一致性要求)选择策略。面试中需不仅能描述概念,还要能分析问题根源,并给出具体解决方案(如代码思路、工具选型)。

http://www.dtcms.com/a/430281.html

相关文章:

  • 如何做优秀的游戏视频网站公司自己买服务器建设网站
  • 威县做网站哪家便宜张家港百度网站推广
  • 哈尔滨论坛建站模板深圳龙华招聘信息
  • php做的汽车销售网站比较好用的微信社群管理软件
  • 域名注册了如何做网站手机怎么生成网站
  • 网站后台插件学网站开发顺序
  • 北京网站建设外包公司wordpress换背景插件
  • 陕西省建设监理协会网站主页商城网站技术方案
  • 网站首页优化方案百度官方电话人工服务电话
  • js商城网站可以做请柬的网站
  • 工商局网站清算组备案怎么做wordpress外链内链
  • 怎样做网站的优化、排名网站系统建设
  • ps网站首页怎么设计西安网站建设培训班
  • 网站建设买服务器还是数据库建筑网站资料排行榜
  • 用什么网站能直接做dj怎么做网页自我介绍
  • 做目录右内容网站医疗网站报价方案
  • 网站运营经理个人网上银行
  • html中文美食网站可以做兼职翻译的网站
  • 怎么做能让网站尽快收录wordpress缩略图利器
  • 深圳积分商城网站设计程序员外包公司有哪些
  • 合肥装饰公司做的好的网站宾馆网站如何做会计分录
  • 网站怎样做权重石家庄建设一个网站多少钱
  • 如何k掉别人的网站中国商标注册网查询网官网
  • 网站制作方案包含哪些内容如何制作个人网页二维码
  • 百度推广必须做手机网站吗只用php做网站
  • 网站建设功能分为几种网站做百度收录的意义
  • 旅游网--个人网站建设 论文用什么软件做网站布局
  • 广州建网站的公司深圳网站建设公司有哪些内容
  • 扬州做机床公司网站html简单登录界面代码
  • 苏州中小型网站建设wordpress不同语言