来了来了他来了!六十题初级开发刷真题答案(1-6)

14 篇文章 23 订阅

序言

    真没想到,我那一次应粉丝请假刷真题的文章大获好评:应粉丝要求,请假一周,面了9家深圳非外包初级开发,只为刷一刷真题(文末有福利),直接给我干到了有史以来最好的数据,也是感谢粉丝的一键三连。
在这里插入图片描述
    本来是早就想出答案的了,但是一直在接私活(开发一个简历系统,等结账后会开源甚至是带着粉丝们从0开始手敲,使用的技术是SpringBoot+Freemarker)。
    很多的评论和私信说让我赶紧出一期答案,我决定以连载的形式进行出答案,一来方便查阅,二来可以保证质量,话不多说,我们开始!有问题可以在私信里面喷我,别来评论区(卑微)
在这里插入图片描述

一、 redis的持久化机制

思路

    这道题其实不难,思路是我们首先要先说出Redis的持久化机制有哪几种,最后给个结论,什么时候用哪一种,我们公司使用的是哪一种。

回答

    Redis提供了RDB持久化和AOF持久化。
    RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,也是默认的持久化方式,这种方式是就是将内存中数据以快照的方式写入到二进制文件中。他的好处是一旦采用该方式,那么你的整个Redis数据库将只包含一个文件,这样非常方便进行备份,他在恢复数据的时候速度比AOF快。他的坏处是会丢失很多的数据。
    AOF持久化是Redis会将每一个收到的写命令都通过write函数追加到文件中(默认是 appendonly.aof)。他的优势是丢失的数据尽可能少,但是他恢复数据的速度比RDB慢。
    目前在企业中,我是两者都用,扬长避短。

二、redis都配置过吧,配置步骤

思路

    这道题其实面试官是想考察一下你是否真正使用过Redis,而不是背八股文的。如果对Redis不熟的可以看我的这篇文章:我用一天时间爆肝出了这份Redis详细笔记

回答

    下面我就说一下最主流的配置:SpringBoot整合Redis
总共就三步走:

  1. 引入依赖
  2. 书写配置
  3. 使用StringRedisTemplate或者RedisTemplate

三、redis缓存击穿和缓存穿透

思路

    这道题其实有一点背八股文内味了,但是需要用自己的语言概述出来是最好的,给面试官一种你理解了的感觉。我们要用大白话解释什么是缓存击穿和缓存穿透,然后再说一下如何避免这个问题。

回答

  • 缓存击穿:key对应的数据存在,但在redis中过期,此时若有大量并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把后端DB压垮。
  • 缓存击穿的解决方案:
    1. 设置热点数据永远不过期。
    2. 接口限流与熔断,降级。
    3. 使用互斥锁(mutex key)
  • 缓存穿透:缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。
  • 缓存穿透的解决方案:
    1. 接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截。
    2. 使用布隆过滤器。

四、mysql索引用过吗,他有几种数据结构类型

思路

这道题纯粹送分,如果自己不是很懂,千万不要说太多。

回答

B树、B+树、哈希

五、每种索引数据结构类型有什么区别?

B树

    MySQL 使用的是 Btree 索引。一颗B树,浅蓝色的块我们称之为一个磁盘块,可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示)。
在这里插入图片描述

B+tree

    B+Tree中,所有数据记录节点都是按照键值大小顺序放在同一层的叶子节点上,而非叶子节点只存储key信息,这样可以大大增加每个节点存储的key值的数量,降低B+Tree的高度。
在这里插入图片描述

六、B树或者B+树的工作原理

    和上题类似,可以看我的上一篇博客中的第三部分:你真的了解MySQL了吗,那你给我说一下锁机制!

在这里插入图片描述

  • 26
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 24
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟空打码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值