简单题,在校招和初中级岗位面试中非常常见。
回答这个问题,你一边要把 Redis 有的数据结构都列举一边,一边要指出这些数据结构对应的底层实现。而后,你要进一步举几个例子,论述不同的数据结构可以用于不同的场景,最好就是用你项目经历中有特色的 Redis 案例。
最后你通过总结一般的选择数据结构的原则来刷出最后一个亮点。
略难的题,在 Redis 面试中比较常见,各个层级的程序员面试中都很常见。
你在这个问题之下,只需要回答到 Redis Sentinel 和 Redis Cluster 就可以了,细节可以等进一步追问。而后你可以通过总结 Redis 这种对等集群和主从集群混合的模式,在 Kafka 等中间件中也很常见,从而展示你对系统设计有深刻理解。
简单题,在各层级的面试中都有可能遇到,一般来说你面试的公司规模越大越有可能问到。
Redis Cluster 实际上也没啥特殊的,就是一个对等结构和主从结构的混合架构,唯一稍微特殊一点的就是引入了槽和槽分配的概念,你只要把这部分捋清楚就好了。而后,在面试中可以从跨槽问题、混合架构两个角度刷亮点。如果你在实践中有使用类似的技术,那么更加能给面试官留下深刻的印象。
简单题,这个应该说是最基础的数据一致性的问题了。
回答这个问题,不能仅仅回答先更新数据库这种,而是详尽分析各种可行的策略,最终可以引出结论——不管怎么做,都没有办法做到强一致性,只能追求最终一致性。
简单题,但是是一个陷阱题。在校招、初中级岗位面试中非常常见。
回答这个问题的关键点就是指出 Redis 的线程模型的演进,而后强调一下多线程的模式不到逼不得已不要使用。
略难的题,之所以略难是因为这个题目很容易错,在校招和初中级岗位中比较常见。
Redis 之所以那么快,最关键就是两个:纯内存操作和IO多路复用,剩下的都不值一提。很容易犯的错误就是说 Redis 那么快是因为用了单线程模型,这个有点扯淡,要是单线程是原因,那么你的 Kafka 干嘛不用单线程?
略难的题。在社招中常见,校招基本不会这么问,毕竟你没什么工作经验。
这个题目如果你随便回答当然可以,但是最好是精心设计一个回答,引导过去你准备的复杂案例上。这里我会列举一些案例,你根据实际情况来挑选。
简单题,你要是听过就是简单题,你要是没听过就是难题。一般在社招里面会有,校招不常见。
回答这个问题,你在指出了 Redis 慢查询监控的方法之后,可以深入讨论慢查询的阈值应该是多少,从而赢得竞争优势。
简单题,在校招、初中级岗位面试中非常常见。考察对Redis数据类型的深入理解,重点介绍其基本概念及内部编码(底层实现),并结合实际应用介绍使用场景。
简单题,在校招或者初中级岗位面试中常见。
需要理解分布式锁的概念、原理和实现方式。回答时要清晰地解释如何使用 Redis 的 SET 命令、Lua脚本和 EXPIRE 命令来实现分布式锁。要顺带解释一下,此过程遇到的问题,例如如何解决死锁、锁超时、锁误删等问题。