前言大家好,我是程序员田螺。今天给大家分享一道经典面试题:Redis持久化有哪几种方式,怎么选?AOF持久化RDB持久化AOF和RDB如何选择1、AOF持久化Redis是基于内存的,如果Redis服务器挂了,数据就会丢失。为了避免数据丢失了,Redis提供了两种持久化方式,RDB和AOF。我们先来介绍AOF。AOF(appendonlyfile)持久化,采用日志的形式来记录每个写操作,追加到AOF文件的末尾。Redis默认情况是不开启AOF的。重启时再重新执行AOF文...
2022-05-30 17:32:30 4660浏览 0点赞 0回复 0收藏
前言大家好,我是捡田螺的小男孩。最近技术讨论群一位朋友去面试,分享了一份面试真题,我整理了一下答案给大家。如果有不正确的,欢迎指出哈,一起进步。Redis的key和value可以存储的最大值分别是多少?怎么利用Redis实现数据的去重?Redis什么时候需要序列化?Redis序列化的方式有哪些?MySQL的B+树的高度怎么计算?线程池的状态有哪些?获取多线程并发执行结果的方式有哪些?线程池原理?各个参数的作用。ThreadLocal的使用...
2022-05-30 17:32:26 4493浏览 0点赞 0回复 0收藏
7.ThreadLocal的使用场景有哪些?原理?内存泄漏?ThreadLocal,即线程本地变量。如果你创建了一个ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的一个本地拷贝,多个线程操作这个变量的时候,实际是操作自己本地内存里面的变量,从而起到线程隔离的作用,避免了线程安全问题。ThreadLocal的应用场景数据库连接池会话管理中使用ThreadLocal内存结构图:ThreadLocal原理Thread对象中持有一个ThreadLocal.ThreadLoc...
2022-05-30 17:31:35 4842浏览 0点赞 0回复 0收藏
前言大家好,我是捡田螺的小男孩。今天跟小伙伴们一起学习Redis的主从、哨兵、RedisCluster集群。Redis主从Redis哨兵RedisCluster集群1.Redis主从面试官经常会问到Redis的高可用。Redis高可用回答包括两个层面,一个就是数据不能丢失,或者说尽量减少丢失;另外一个就是保证Redis服务不中断。对于尽量减少数据丢失,可以通过AOF和RDB保证。对于保证服务不中断的话,Redis就不能单点部署,这时候我们先看下Redis主从。1.1Redsi主...
2022-05-30 17:31:26 4434浏览 0点赞 0回复 0收藏
2.7故障转移假设哨兵模式架构如下,有三个哨兵,一个主库M,两个从库S1和S2。当哨兵检测到Redis主库M1出现故障,那么哨兵需要对集群进行故障转移。假设选出了哨兵3作为Leader。故障转移流程如下:从库S1解除从节点身份,升级为新主库从库S2成为新主库的从库原主节点恢复也变成新主库的从节点通知客户端应用程序新主节点的地址。故障转移后:3.RedisCluster集群哨兵模式基于主从模式,实现读写分离,它还可以自动切换,系统可用...
2022-05-30 17:31:13 5359浏览 0点赞 0回复 0收藏
前言大家好,我是捡田螺的小男孩,最近一位朋友(6年工作经验)面了腾讯云,以下是面试题和答案。加油,一起卷。聊聊项目,好的设计,好的代码谈谈什么是零拷贝?一共有几种IO模型?NIO和多路复用的区别?Future实现阻塞等待获取结果的原理?ReentrantLock和Synchronized的区别?Synchronized的原理?聊聊AOS?ReentrantLock的实现原理?乐观锁和悲观锁,让你来写你怎么实现?Paxos协议了解?工作流程是怎么样的?B+树聊一下?B...
2022-05-30 17:31:01 4146浏览 0点赞 0回复 0收藏
8.2Paxos的角色Paxos涉及三种角色,分别是Proposer、Accecptor、Learners。Proposer:它可以提出提案(Proposal),提案信息包括提案编号和提案值。Acceptor:接受接受(accept)提案。一旦接受提案,提案里面的提案值(可以用V表示)就被选定了。Learner:哪个提案被选定了,Learner就学习这个被选择的提案一个进程可能是Proposer,也可能是Acceptor,也可能是Learner。8.2Paxos算法推导过程一致性算法需要前置条件在这些被提出的提...
2022-05-30 17:30:50 4354浏览 0点赞 0回复 0收藏
前言大家好,我是捡田螺的小男孩。有位朋友工作三年,去面试,给大家整理一下面试题,并附上答案。Mysql索引在什么情况下会失效MySql的存储引擎InnoDB与MyISAM的区别Mysql在项目中的优化场景,慢查询解决等Mysql有什么索引,索引模型是什么B树与B+树的区别?为什么不用红黑树Mysql主从同步怎么做乐观锁与悲观锁的区别?聊聊binlog日志redis持久化有哪几种方式,怎么选?redis主从同步是怎样的过程?redis的zset怎么实现的?Redi...
2022-05-30 17:30:23 4854浏览 0点赞 0回复 0收藏
12.Redis过期策略和内存淘汰策略12.1Redis的过期策略我们在setkey的时候,可以给它设置一个过期时间,比如expirekey60。指定这key60s后过期,60s后,redis是如何处理的嘛?我们先来介绍几种过期策略哈:一般有定时过期、惰性过期、定期过期三种。定时过期每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即对key进行清除。该策略可以立即清除过期的数据,对内存很友好;但是会占用大量的CPU资源去处理过期的数据,...
2022-05-30 17:30:14 4684浏览 0点赞 0回复 0收藏
前言大家好,我是捡田螺的小男孩。金三银四面试的时候,面试官经常会问MySQL主从。今天就跟大家聊聊MySQL的主从。数据库主从概念、优点、用途数据库主从复制原理主主、主从、主备的区别MySQL是怎么保证主从一致的数据库主从延迟的原因与解决方案聊聊数据库的高可用方案1.数据库主从概念、优点、用途主从数据库是什么意思呢,主是主库的意思,从是从库的意思。数据库主库对外提供读写的操作,从库对外提供读的操作。数据库为什么...
2022-05-27 17:55:12 4636浏览 0点赞 0回复 0收藏
前言大家好,我是捡田螺的小男孩。收集了腾讯常考的十道算法题(真题)。在金三银四,希望对大家有帮助呀。重排链表最长递增子序列环形链表反转链表最长回文子串全排列LRU缓存合并K个升序链表无重复字符的最长子串删除链表的倒数第N个结点1.重排链表给定一个单链表L的头节点head,单链表L表示为:L0→L1→…→Ln1→Ln请将其重新排列后变为:L0→Ln→L1→Ln1→L2→Ln2→…输入:head[1,...
2022-05-27 17:54:51 4271浏览 0点赞 0回复 0收藏
5.最长回文子串给你一个字符串s,找到s中最长的回文子串。实例1:输入:s"babad"输出:"bab"解释:"aba"同样是符合题意的答案。这道题可以使用中心扩展法实现,从中间开始向两边扩散来判断回文串。for0<i<len(s):找到以s[i]为中心的回文串更新答案但是回文串可能是长度可能是奇数,也可能是偶数,因此需要加多一步:for0<i<len(s):找到以s[i]为中心的回文串找到以s[i]和s[i+1]为中心的回文串更新答案完整代码如下:classSolutio...
2022-05-27 17:54:43 5253浏览 0点赞 0回复 0收藏
前言大家好呀,我是捡田螺的小男孩。金三银四即将来临,整理了十道十分经典的消息队列面试题,看完肯定对面试有帮助的,大家一起加油哈什么是消息队列消息队列的应用场景消息队列如何解决消息丢失问题消息队列如何保证消息的顺序性。消息有可能发生重复消费吗?如何幂等处理?如何处理消息队列的消息积压问题消息队列技术选型,Kafka还是RocketMQ,还是RabbitMQ消息中间件如何做到高可用?如何保证数据一致性,事务消息如何实现...
2022-05-27 17:54:32 5933浏览 0点赞 0回复 0收藏
5.消息队列有可能发生重复消费,如何避免,如何做到幂等?消息队列是可能发生重复消费的。生产端为了保证消息的可靠性,它可能往MQ服务器重复发送消息,直到拿到成功的ACK。再然后就是消费端,消费端消费消息一般是这个流程:拉取消息、业务逻辑处理、提交消费位移。假设业务逻辑处理完,事务提交了,但是需要更新消费位移时,消费者却挂了,这时候另一个消费者就会拉到重复消息了。如何幂等处理重复消息呢?我之前写过一篇幂等...
2022-05-27 17:54:25 5976浏览 0点赞 0回复 0收藏
前言大家好,我是捡田螺的小男孩,有位伙伴面试了字节(四年半工作经验),分享下面试真题,大家一起加油哈。说说Redis为什么快Redis有几种数据结构,底层分别是怎么存储的Redis有几种持久化方式多线程情况下,如何保证线程安全?用过volatile吗?底层原理是?MySQL的索引结构,聚簇索引和非聚簇索引的区别MySQL有几种高可用方案,你们用的是哪一种说说你做过最有挑战性的项目秒杀采用什么方案聊聊分库分表,需要停服嘛redis挂了...
2022-05-27 17:54:16 5442浏览 0点赞 0回复 0收藏
7.MySQL有几种高可用方案,你们用的是哪一种主从或主主半同步复制半同步复制优化高可用架构优化共享存储分布式协议7.1主从或主主半同步复制用双节点数据库,搭建单向或者双向的半同步复制。架构如下:通常会和proxy、keepalived等第三方软件同时使用,即可以用来监控数据库的健康,又可以执行一系列管理命令。如果主库发生故障,切换到备库后仍然可以继续使用数据库。这种方案优点是架构、部署比较简单,主机宕机直接切换即可。...
2022-05-27 17:54:07 5654浏览 0点赞 0回复 0收藏
前言大家好,我是捡田螺的小男孩。我们刷leetcode的时候,经常会遇到回溯算法类型题目。回溯算法是五大基本算法之一,一般大厂也喜欢问。今天跟大家一起来学习回溯算法的套路,文章如果有不正确的地方,欢迎大家指出哈,感谢感谢什么是回溯算法?一道算法题走进回溯算法回溯算法框架套路leetcode案例分析1.什么是回溯算法回溯算法,一种通过探索所有可能的候选解来找出所有的解的算法。它采用试错的思想,它尝试分步的去解决一...
2022-05-27 17:53:57 7042浏览 0点赞 0回复 0收藏