自我介绍
1、项目中使用redis缓存高频数据,介绍一下
2、介绍中谈到你解决了缓存穿透、缓存击穿,详细讲一下
3、项目中使用数据库分区,讲一下分区、分表
4、刚刚你有讲到分区是底层分成了多个idb,一个数据库都会有一个frm和一个idb文件,你知道idb、frm都存储什么吗
5、分区的类型,hash\range ,项目中使用的hash,为什么没用range
6、分区的优、缺点。优点答了快,为什么快。缺点呢
7、Redis的数据类型哪些
8、Redis6.0升级了多线程,了解吗
答多线程只应用在处理网络请求,实际命令还是单线程
9、那为什么6.0要引入多线程呢?(答得不好,应该是:随着网络硬件的性能提升,Redis 的性能瓶颈有时会出现在网络 I/O 的处理上)
10、刚刚你回答时提到IO多路复用,可以讲讲吗
11、IO多路复用中select和epoll
12、 Redis持久化了解吗
13、刚刚提到AOF日志,用户操作时先写数据库还是先写AOF日志
答:先写数据库,再加日志
问:那这样不会有风险吗
答:有,并讲了讲三种写入日志(写回硬盘)的规则Always Everysec,No,并讲述每种的优缺点,以及日志损失程度
问:听说过write-ahead logging预写式日志策略吗,就是先写入日志再写入数据库,你对这个有什么想法吗?
答:确实这个原则在宕机时能够损失更少的数据,但是为啥redis没用没想出来
解答:redis需要先先执行指令并检查语法错误,然后再将正确的指令写入日志文件。直接写入日志就无法保证指令正确
14、第二个项目,用户登录怎么做的,登录态相关
15、http常用状态码 200.404~
16、tcp三次握手
17、平时抓过包吗? 没有
18、 项目中实现了令牌桶讲一下,四种限流对比
19、限流方法中有个滑动窗口法,你还记得tcp的滑动窗口吗?答上次了解是在考研时候了,跳过
20、 Spring ioc讲一下
21、项目技术栈有写道git,问个简单的,你查git日志怎么查的?
答:在idea用界面查的~~~~囧
---------------------------
22、出个简单的算法,你做一下:题目==leetcode题1
尬住了,思路一下就说出来了,然后写代码出了个小bug卡了15分钟
啊啊啊啊人要疯了