如何设计一个优雅的RESTFUL的接口?一篇文章帮你解答

前言

今年因为这个疫情,感觉这是从工作以来过的最久的一个年了,在家呆的时间不是一般的久,算一算有好几个月呢!我大概是3月底快4月了才出门,投了超多的简历,天天面试面试面试面试面试面试面试…庆幸的是还是上岸了(嘻嘻开心开心)。但其实所谓的庆幸也是靠努力堆起来的,我记忆力还比较好,背一背,没啥难的,背了1000道题。。。(注:关于我背的这1000题,文末有分享)

眼看着6月就过去了,再过两天就7月份了,想着面试大军可能也过不了几天就要来了,所以这两天整理了一些面经,今天给大家看的是“美团+字节跳动+腾讯”这三家的,每家一二三面,我想大家可以自己测试一下能坚持到哪里。

概述

  1. 什么是Redis
  2. Redis有哪些优缺点
  3. 为什么要用Redis /为什么要用缓存
  4. 为什么要用Redis而不用map/guava做缓存?
  5. Redis为什么这么快

二、数据类型

  1. Redis有哪些数据类型
  2. Redis的应用场景

三、持久化

  1. 什么是Redis持久化?
  2. Redis的持久化机制是什么?各自的优缺点?
  3. 如何选择合适的持久化方式
  4. Redis持久化数据和缓存怎么做扩容?

四、过期键的删除策略

  1. Redis的过期键的删除策略
  2. Redis key的过期时间和永久有效分别怎么设置?
  3. 我们知道通过expire来设置key的过期时间,那么对过期的数据怎么处理呢?

五、内存相关

  1. MySQL里有2000w数据,redis中只存20w的数据, 如何保证redis中的数据都是热点数据
  2. Redis的内存海汰策略有哪些
  3. Redis主要消耗什么物理资源?
  4. Redis的内存用完了会发生什么?
  5. Redis如何做内存优化?

六线程模型

  1. Redis线程模型

七.事务

  1. 什么是事务?
  2. Redis事务的概念
  3. Redis事务的三个阶段
  4. Redis事务相关命令
  5. 事务管理(ACID)概述
  6. Redis事务支持隔离性吗
  7. Redis事务保证原子性吗,支持回滚吗
  8. Redis事务其他实现

八集群方案

  1. 哨兵模式.
  2. 官方Redis Cluster 方案(服务端路由查询)
  3. 基于客户端分配
  4. 基于代理服务器分片
  5. Redis主从架构
  6. Redis集群的主从复制模型是怎样的?
  7. 生产环境中的redis是怎么部署的?
  8. 说说Redis哈希椿的概念?
  9. Redis集群会有写操作丢失吗?为什么?
  10. Redis集群之间是如何复制的?
  11. Redis集群最大节点个数是多少?
  12. Redis集群如何选择数据库?

九、分区

  1. Redis是单线程的,如何提高多核CPU的利用率?
  2. 为什么要做Redis分区?
  3. 你知道有哪些Redis分区实现方案?
  4. Redis分区有什么缺点?

十、分布式问题

  1. Redis实现分布式锁
  2. 如何解决Redis的并发竞争Key问题
  3. 分布式Redis是前期做还是后期规模上来了再做好?为什么?
  4. 什么是RedLock

十一、缓存异常

  1. 缓存雪崩
  2. 缓存穿透
  3. 缓存击穿
  4. 缓存预热
  5. 缓存降级
  6. 热点数据和冷数据
  7. 缓存热点key

十二、常用工具

  1. Redis支持的Java客户端都有哪些?官方推荐用哪个?
  2. Redis和Redisson有什么关系?
  3. Jedis与Redisson对比有什么优缺点?

十三、其他问题

  1. Redis与Memcached的区别
  2. 如何保证缓存与数据库双写时的数据一致性?
  3. Redis常见性能问题和解决方案?
  4. Redis官方为什么不提供Windows版本?
  5. 一个字符串类型的值能存储最大容量是多少?
  6. Redis如何做大量数据插入?
  7. 假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如果将它们全部找出来?
  8. 使用Redis做过异步队列吗,是如何实现的
  9. Redis如何实现延时队列
  10. Redis回收进程如何工作的?
  11. Redis回收使用的是什么算法?

如何设计一个优雅的RESTFUL的接口?一篇文章帮你解答

Redis面试复习大纲部分截图-001

如何设计一个优雅的RESTFUL的接口?一篇文章帮你解答

最后

码字不易,觉得有帮助的可以帮忙点个赞,让更多有需要的人看到

又是一年求职季,在这里,我为各位准备了一套Java程序员精选高频面试笔试真题,来帮助大家攻下BAT的offer,题目范围从初级的Java基础到高级的分布式架构等等一系列的面试题和答案,用于给大家作为参考,需要的可以戳这里免费领取,以下是部分内容截图
下BAT的offer,题目范围从初级的Java基础到高级的分布式架构等等一系列的面试题和答案,用于给大家作为参考,需要的可以戳这里免费领取,以下是部分内容截图
如何设计一个优雅的RESTFUL的接口?一篇文章帮你解答

上一篇:RESTful架构剖析


下一篇:RESTful api风格介绍